docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
sdfg::rocm::ROCMLanguageExtension Class Reference

#include <sdfg/targets/rocm/codegen/rocm_language_extension.h>

Inheritance diagram for sdfg::rocm::ROCMLanguageExtension:
[legend]

Public Member Functions

 ROCMLanguageExtension (sdfg::Function &function, const gpu::rocm::RocmArch *arch, const std::string &external_prefix="")
 ROCMLanguageExtension (sdfg::Function &function, const std::string &external_prefix="")
const std::string language () const override
const gpu::rocm::RocmArch * gpu_arch () const
std::string primitive_type (const types::PrimitiveType prim_type) override
std::string declaration (const std::string &name, const types::IType &type, bool use_initializer=false, bool use_alignment=false) override
std::string type_cast (const std::string &name, const types::IType &type) override
std::string subset (const types::IType &type, const data_flow::Subset &subset) override
std::string expression (const symbolic::Expression expr) override
std::string access_node (const data_flow::AccessNode &node) override
std::string tasklet (const data_flow::Tasklet &tasklet) override
std::string zero (const types::PrimitiveType prim_type) override
Public Member Functions inherited from sdfg::codegen::CStyleLanguageExtension
std::string comment (const std::string &text) override
std::string assignment (const std::string &lhs, const std::string &rhs) override
std::string local_declaration (const std::string &name, const types::IType &type, const std::string &init="") override
 Declares a local, initialized if init is non-empty. Empty if the language needs no declaration.
std::string copy_bytes (const std::string &dst, const std::string &src, const std::string &size) override
std::string break_statement () override
std::string continue_statement () override
std::string return_statement (const std::string &value) override
void deallocation (PrettyPrinter &stream, const std::string &container, const types::IType &type) override
 Emits the release of a container the function owns, if its storage requires one.
std::string null_literal () override
std::string address_of (const std::string &expr) override
std::string dereference (const std::string &expr) override
std::string size_of (const std::string &expr) override
std::string reinterpret_cast_expr (const std::string &expr, const std::string &type) override
Body begin_for (PrettyPrinter &stream, const structured_control_flow::StructuredLoop &loop, const LoopHints &hints) override
Body begin_while (PrettyPrinter &stream) override
 An unconditional loop, left only through break or return.
Body begin_branch (PrettyPrinter &stream, size_t index, size_t count, const symbolic::Condition &condition) override
 Branch index of count branches of a conditional, guarded by condition.
Body begin_scope (PrettyPrinter &stream) override
void end (PrettyPrinter &stream, const Body &body) override
 LanguageExtension (sdfg::Function &function, const std::string &external_prefix)
Public Member Functions inherited from sdfg::codegen::LanguageExtension
 LanguageExtension (sdfg::Function &function, const std::string &external_prefix)
virtual ~LanguageExtension ()=default
const std::string & external_prefix () const

Additional Inherited Members

Protected Member Functions inherited from sdfg::codegen::CStyleLanguageExtension
Body open (PrettyPrinter &stream, Body::Kind kind)
Protected Attributes inherited from sdfg::codegen::LanguageExtension
sdfg::Function & function_
std::string external_prefix_

Constructor & Destructor Documentation

◆ ROCMLanguageExtension() [1/2]

sdfg::rocm::ROCMLanguageExtension::ROCMLanguageExtension ( sdfg::Function & function,
const gpu::rocm::RocmArch * arch,
const std::string & external_prefix = "" )
inline

◆ ROCMLanguageExtension() [2/2]

sdfg::rocm::ROCMLanguageExtension::ROCMLanguageExtension ( sdfg::Function & function,
const std::string & external_prefix = "" )
inline

Member Function Documentation

◆ access_node()

std::string sdfg::rocm::ROCMLanguageExtension::access_node ( const data_flow::AccessNode & node)
overridevirtual

◆ declaration()

std::string sdfg::rocm::ROCMLanguageExtension::declaration ( const std::string & name,
const types::IType & type,
bool use_initializer = false,
bool use_alignment = false )
overridevirtual

◆ expression()

std::string sdfg::rocm::ROCMLanguageExtension::expression ( const symbolic::Expression expr)
overridevirtual

◆ gpu_arch()

const gpu::rocm::RocmArch * sdfg::rocm::ROCMLanguageExtension::gpu_arch ( ) const
inline

◆ language()

const std::string sdfg::rocm::ROCMLanguageExtension::language ( ) const
inlineoverridevirtual

◆ primitive_type()

std::string sdfg::rocm::ROCMLanguageExtension::primitive_type ( const types::PrimitiveType prim_type)
overridevirtual

◆ subset()

std::string sdfg::rocm::ROCMLanguageExtension::subset ( const types::IType & type,
const data_flow::Subset & subset )
overridevirtual

◆ tasklet()

std::string sdfg::rocm::ROCMLanguageExtension::tasklet ( const data_flow::Tasklet & tasklet)
overridevirtual

◆ type_cast()

std::string sdfg::rocm::ROCMLanguageExtension::type_cast ( const std::string & name,
const types::IType & type )
overridevirtual

◆ zero()

std::string sdfg::rocm::ROCMLanguageExtension::zero ( const types::PrimitiveType prim_type)
overridevirtual

The documentation for this class was generated from the following file: