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

#include <sdfg/targets/cuda/codegen/cuda_language_extension.h>

Inheritance diagram for sdfg::cuda::CUDALanguageExtension:
[legend]

Public Member Functions

 CUDALanguageExtension (sdfg::Function &function, const sdfg::gpu::cuda::CudaArch *arch, const std::string &external_prefix="")
 CUDALanguageExtension (sdfg::Function &function, const std::string &external_prefix="")
const std::string language () const override
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

◆ CUDALanguageExtension() [1/2]

sdfg::cuda::CUDALanguageExtension::CUDALanguageExtension ( sdfg::Function & function,
const sdfg::gpu::cuda::CudaArch * arch,
const std::string & external_prefix = "" )
inline

◆ CUDALanguageExtension() [2/2]

sdfg::cuda::CUDALanguageExtension::CUDALanguageExtension ( sdfg::Function & function,
const std::string & external_prefix = "" )
inline

Member Function Documentation

◆ access_node()

std::string sdfg::cuda::CUDALanguageExtension::access_node ( const data_flow::AccessNode & node)
overridevirtual

◆ declaration()

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

◆ expression()

std::string sdfg::cuda::CUDALanguageExtension::expression ( const symbolic::Expression expr)
overridevirtual

◆ language()

const std::string sdfg::cuda::CUDALanguageExtension::language ( ) const
inlineoverridevirtual

◆ primitive_type()

std::string sdfg::cuda::CUDALanguageExtension::primitive_type ( const types::PrimitiveType prim_type)
overridevirtual

◆ subset()

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

◆ tasklet()

std::string sdfg::cuda::CUDALanguageExtension::tasklet ( const data_flow::Tasklet & tasklet)
overridevirtual

◆ type_cast()

std::string sdfg::cuda::CUDALanguageExtension::type_cast ( const std::string & name,
const types::IType & type )
overridevirtual

◆ zero()

std::string sdfg::cuda::CUDALanguageExtension::zero ( const types::PrimitiveType prim_type)
overridevirtual

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