Halide
Halide::Internal::CodeGen_GPU_C Class Reference

A base class for GPU backends that require C-like shader output. More...

#include <CodeGen_GPU_Dev.h>

Inherits Halide::Internal::CodeGen_C.

Public Types

enum  VectorDeclarationStyle { VectorDeclarationStyle::CLikeSyntax = 0, VectorDeclarationStyle::OpenCLSyntax = 1, VectorDeclarationStyle::WGSLSyntax = 2 }
 OpenCL and WGSL use different syntax than C for immediate vectors. More...
 
- Public Types inherited from Halide::Internal::CodeGen_C
enum  OutputKind {
  CHeader, CPlusPlusHeader, CImplementation, CPlusPlusImplementation,
  CExternDecl, CPlusPlusExternDecl, CPlusPlusFunctionInfoHeader
}
 

Public Member Functions

 CodeGen_GPU_C (std::ostream &s, Target t)
 
- Public Member Functions inherited from Halide::Internal::CodeGen_C
 CodeGen_C (std::ostream &dest, const Target &target, OutputKind output_kind=CImplementation, const std::string &include_guard="")
 Initialize a C code generator pointing at a particular output stream (e.g. More...
 
 ~CodeGen_C () override
 
void compile (const Module &module)
 Emit the declarations contained in the module as C code. More...
 
const Targetget_target () const
 The target we're generating code for. More...
 
- Public Member Functions inherited from Halide::Internal::IRPrinter
 IRPrinter (std::ostream &)
 Construct an IRPrinter pointed at a given output stream (e.g. More...
 
void print (const Expr &)
 emit an expression on the output stream More...
 
void print_no_parens (const Expr &)
 Emit an expression on the output stream without enclosing parens. More...
 
void print (const Stmt &)
 emit a statement on the output stream More...
 
void print_list (const std::vector< Expr > &exprs)
 emit a comma delimited list of exprs, without any leading or trailing punctuation. More...
 
- Public Member Functions inherited from Halide::Internal::IRVisitor
 IRVisitor ()=default
 
virtual ~IRVisitor ()=default
 

Protected Member Functions

void visit (const Shuffle *op) override
 
void visit (const Call *op) override
 
void visit (const Variable *) override
 
void visit (const IntImm *) override
 
void visit (const UIntImm *) override
 
void visit (const StringImm *) override
 
void visit (const FloatImm *) override
 
void visit (const Cast *) override
 
void visit (const Reinterpret *) override
 
void visit (const Add *) override
 
void visit (const Sub *) override
 
void visit (const Mul *) override
 
void visit (const Div *) override
 
void visit (const Mod *) override
 
void visit (const Max *) override
 
void visit (const Min *) override
 
void visit (const EQ *) override
 
void visit (const NE *) override
 
void visit (const LT *) override
 
void visit (const LE *) override
 
void visit (const GT *) override
 
void visit (const GE *) override
 
void visit (const And *) override
 
void visit (const Or *) override
 
void visit (const Not *) override
 
void visit (const Call *) override
 
void visit (const Select *) override
 
void visit (const Load *) override
 
void visit (const Store *) override
 
void visit (const Let *) override
 
void visit (const LetStmt *) override
 
void visit (const AssertStmt *) override
 
void visit (const ProducerConsumer *) override
 
void visit (const For *) override
 
void visit (const Ramp *) override
 
void visit (const Broadcast *) override
 
void visit (const Provide *) override
 
void visit (const Allocate *) override
 
void visit (const Free *) override
 
void visit (const Realize *) override
 
void visit (const IfThenElse *) override
 
void visit (const Evaluate *) override
 
void visit (const Shuffle *) override
 
void visit (const Prefetch *) override
 
void visit (const Fork *) override
 
void visit (const Acquire *) override
 
void visit (const Atomic *) override
 
void visit (const VectorReduce *) override
 
void visit (const IntImm *) override
 
void visit (const UIntImm *) override
 
void visit (const FloatImm *) override
 
void visit (const StringImm *) override
 
void visit (const Cast *) override
 
void visit (const Reinterpret *) override
 
void visit (const Variable *) override
 
void visit (const Add *) override
 
void visit (const Sub *) override
 
void visit (const Mul *) override
 
void visit (const Div *) override
 
void visit (const Mod *) override
 
void visit (const Min *) override
 
void visit (const Max *) override
 
void visit (const EQ *) override
 
void visit (const NE *) override
 
void visit (const LT *) override
 
void visit (const LE *) override
 
void visit (const GT *) override
 
void visit (const GE *) override
 
void visit (const And *) override
 
void visit (const Or *) override
 
void visit (const Not *) override
 
void visit (const Select *) override
 
void visit (const Load *) override
 
void visit (const Ramp *) override
 
void visit (const Broadcast *) override
 
void visit (const Call *) override
 
void visit (const Let *) override
 
void visit (const LetStmt *) override
 
void visit (const AssertStmt *) override
 
void visit (const ProducerConsumer *) override
 
void visit (const For *) override
 
void visit (const Acquire *) override
 
void visit (const Store *) override
 
void visit (const Provide *) override
 
void visit (const Allocate *) override
 
void visit (const Free *) override
 
void visit (const Realize *) override
 
void visit (const Block *) override
 
void visit (const Fork *) override
 
void visit (const IfThenElse *) override
 
void visit (const Evaluate *) override
 
void visit (const Shuffle *) override
 
void visit (const VectorReduce *) override
 
void visit (const Prefetch *) override
 
void visit (const Atomic *) override
 
- Protected Member Functions inherited from Halide::Internal::CodeGen_C
void compile (const LoweredFunc &func, const MetadataNameMap &metadata_name_map)
 Emit a declaration. More...
 
void compile (const Buffer<> &buffer)
 
virtual Stmt preprocess_function_body (const Stmt &stmt)
 This is a hook that subclasses can use to transform a function body just before it is emitted – e.g., to transform the IR to code that is easier to recognize and emit. More...
 
std::string print_expr (const Expr &)
 Emit an expression as an assignment, then return the id of the resulting var. More...
 
std::string print_cast_expr (const Type &, const Expr &)
 Like print_expr, but cast the Expr to the given Type. More...
 
void print_stmt (const Stmt &)
 Emit a statement. More...
 
void create_assertion (const std::string &id_cond, const Expr &message)
 
void create_assertion (const Expr &cond, const Expr &message)
 
Expr scalarize_vector_reduce (const VectorReduce *op)
 
virtual std::string print_type (Type, AppendSpaceIfNeeded space_option=DoNotAppendSpace)
 Emit the C name for a halide type. More...
 
virtual std::string print_reinterpret (Type, const Expr &)
 Emit a statement to reinterpret an expression as another type. More...
 
virtual std::string print_name (const std::string &)
 Emit a version of a string that is a valid identifier in C (. More...
 
virtual void add_platform_prologue ()
 Add platform specific prologue. More...
 
virtual void add_vector_typedefs (const std::set< Type > &vector_types)
 Add typedefs for vector types. More...
 
virtual std::string print_extern_call (const Call *op)
 Bottleneck to allow customization of calls to generic Extern/PureExtern calls. More...
 
std::string print_scalarized_expr (const Expr &e)
 Convert a vector Expr into a series of scalar Exprs, then reassemble into vector of original type. More...
 
virtual std::string print_assignment (Type t, const std::string &rhs)
 Emit an SSA-style assignment, and set id to the freshly generated name. More...
 
void print_heap_free (const std::string &alloc_name)
 Emit free for the heap allocation. More...
 
bool is_header ()
 Return true if only generating an interface, which may be extern "C" or C++. More...
 
bool is_extern_decl ()
 Return true if only generating an interface, which may be extern "C" or C++. More...
 
bool is_header_or_extern_decl ()
 Return true if only generating an interface, which may be extern "C" or C++. More...
 
bool is_c_plus_plus_interface ()
 Return true if generating C++ linkage. More...
 
void open_scope ()
 Open a new C scope (i.e. More...
 
void close_scope (const std::string &comment)
 Close a C scope (i.e. More...
 
void forward_declare_type_if_needed (const Type &t)
 If the Type is a handle type, emit a forward-declaration for it if we haven't already. More...
 
void set_name_mangling_mode (NameMangling mode)
 
void visit (const Variable *) override
 
void visit (const IntImm *) override
 
void visit (const UIntImm *) override
 
void visit (const StringImm *) override
 
void visit (const FloatImm *) override
 
void visit (const Cast *) override
 
void visit (const Reinterpret *) override
 
void visit (const Add *) override
 
void visit (const Sub *) override
 
void visit (const Mul *) override
 
void visit (const Div *) override
 
void visit (const Mod *) override
 
void visit (const Max *) override
 
void visit (const Min *) override
 
void visit (const EQ *) override
 
void visit (const NE *) override
 
void visit (const LT *) override
 
void visit (const LE *) override
 
void visit (const GT *) override
 
void visit (const GE *) override
 
void visit (const And *) override
 
void visit (const Or *) override
 
void visit (const Not *) override
 
void visit (const Select *) override
 
void visit (const Load *) override
 
void visit (const Store *) override
 
void visit (const Let *) override
 
void visit (const LetStmt *) override
 
void visit (const AssertStmt *) override
 
void visit (const ProducerConsumer *) override
 
void visit (const For *) override
 
void visit (const Ramp *) override
 
void visit (const Broadcast *) override
 
void visit (const Provide *) override
 
void visit (const Allocate *) override
 
void visit (const Free *) override
 
void visit (const Realize *) override
 
void visit (const IfThenElse *) override
 
void visit (const Evaluate *) override
 
void visit (const Prefetch *) override
 
void visit (const Fork *) override
 
void visit (const Acquire *) override
 
void visit (const Atomic *) override
 
void visit (const VectorReduce *) override
 
void visit_binop (Type t, const Expr &a, const Expr &b, const char *op)
 
void visit_relop (Type t, const Expr &a, const Expr &b, const char *scalar_op, const char *vector_op)
 
virtual bool is_stack_private_to_thread () const
 Some architectures have private memory for the call stack; this means a thread cannot hand pointers to stack memory to another thread. More...
 
void emit_argv_wrapper (const std::string &function_name, const std::vector< LoweredArgument > &args)
 
void emit_metadata_getter (const std::string &function_name, const std::vector< LoweredArgument > &args, const MetadataNameMap &metadata_name_map)
 
void emit_constexpr_function_info (const std::string &function_name, const std::vector< LoweredArgument > &args, const MetadataNameMap &metadata_name_map)
 
void emit_halide_free_helper (const std::string &alloc_name, const std::string &free_function)
 
void visit (const IntImm *) override
 
void visit (const UIntImm *) override
 
void visit (const FloatImm *) override
 
void visit (const StringImm *) override
 
void visit (const Cast *) override
 
void visit (const Reinterpret *) override
 
void visit (const Variable *) override
 
void visit (const Add *) override
 
void visit (const Sub *) override
 
void visit (const Mul *) override
 
void visit (const Div *) override
 
void visit (const Mod *) override
 
void visit (const Min *) override
 
void visit (const Max *) override
 
void visit (const EQ *) override
 
void visit (const NE *) override
 
void visit (const LT *) override
 
void visit (const LE *) override
 
void visit (const GT *) override
 
void visit (const GE *) override
 
void visit (const And *) override
 
void visit (const Or *) override
 
void visit (const Not *) override
 
void visit (const Select *) override
 
void visit (const Load *) override
 
void visit (const Ramp *) override
 
void visit (const Broadcast *) override
 
void visit (const Call *) override
 
void visit (const Let *) override
 
void visit (const LetStmt *) override
 
void visit (const AssertStmt *) override
 
void visit (const ProducerConsumer *) override
 
void visit (const For *) override
 
void visit (const Acquire *) override
 
void visit (const Store *) override
 
void visit (const Provide *) override
 
void visit (const Allocate *) override
 
void visit (const Free *) override
 
void visit (const Realize *) override
 
void visit (const Block *) override
 
void visit (const Fork *) override
 
void visit (const IfThenElse *) override
 
void visit (const Evaluate *) override
 
void visit (const Shuffle *) override
 
void visit (const VectorReduce *) override
 
void visit (const Prefetch *) override
 
void visit (const Atomic *) override
 
- Protected Member Functions inherited from Halide::Internal::IRPrinter
Indentation get_indent () const
 
void open ()
 Either emits "(" or "", depending on the value of implicit_parens. More...
 
void close ()
 Either emits ")" or "", depending on the value of implicit_parens. More...
 
void print_lets (const Let *let)
 A helper for printing a chain of lets with line breaks. More...
 
void visit (const IntImm *) override
 
void visit (const UIntImm *) override
 
void visit (const FloatImm *) override
 
void visit (const StringImm *) override
 
void visit (const Cast *) override
 
void visit (const Reinterpret *) override
 
void visit (const Variable *) override
 
void visit (const Add *) override
 
void visit (const Sub *) override
 
void visit (const Mul *) override
 
void visit (const Div *) override
 
void visit (const Mod *) override
 
void visit (const Min *) override
 
void visit (const Max *) override
 
void visit (const EQ *) override
 
void visit (const NE *) override
 
void visit (const LT *) override
 
void visit (const LE *) override
 
void visit (const GT *) override
 
void visit (const GE *) override
 
void visit (const And *) override
 
void visit (const Or *) override
 
void visit (const Not *) override
 
void visit (const Select *) override
 
void visit (const Load *) override
 
void visit (const Ramp *) override
 
void visit (const Broadcast *) override
 
void visit (const Call *) override
 
void visit (const Let *) override
 
void visit (const LetStmt *) override
 
void visit (const AssertStmt *) override
 
void visit (const ProducerConsumer *) override
 
void visit (const For *) override
 
void visit (const Acquire *) override
 
void visit (const Store *) override
 
void visit (const Provide *) override
 
void visit (const Allocate *) override
 
void visit (const Free *) override
 
void visit (const Realize *) override
 
void visit (const Block *) override
 
void visit (const Fork *) override
 
void visit (const IfThenElse *) override
 
void visit (const Evaluate *) override
 
void visit (const Shuffle *) override
 
void visit (const VectorReduce *) override
 
void visit (const Prefetch *) override
 
void visit (const Atomic *) override
 

Protected Attributes

VectorDeclarationStyle vector_declaration_style = VectorDeclarationStyle::CLikeSyntax
 
- Protected Attributes inherited from Halide::Internal::CodeGen_C
IntegerSuffixStyle integer_suffix_style = IntegerSuffixStyle::PlainC
 How to emit 64-bit integer constants. More...
 
std::string id
 An ID for the most recently generated ssa variable. More...
 
Target target
 The target being generated for. More...
 
OutputKind output_kind
 Controls whether this instance is generating declarations or definitions and whether the interface us extern "C" or C++. More...
 
std::map< std::string, std::string > cache
 A cache of generated values in scope. More...
 
Scope< Allocationallocations
 Track the types of allocations to avoid unnecessary casts. More...
 
Scope heap_allocations
 Track which allocations actually went on the heap. More...
 
bool have_user_context
 True if there is a void * __user_context parameter in the arguments. More...
 
bool extern_c_open
 Track current calling convention scope. More...
 
bool uses_gpu_for_loops
 True if at least one gpu-based for loop is used. More...
 
std::set< const halide_handle_cplusplus_type * > forward_declared
 Track which handle types have been forward-declared already. More...
 
bool inside_atomic_mutex_node
 Are we inside an atomic node that uses mutex locks? This is used for detecting deadlocks from nested atomics. More...
 
bool emit_atomic_stores
 Emit atomic store instructions? More...
 
bool using_vector_typedefs
 true if add_vector_typedefs() has been called. More...
 
- Protected Attributes inherited from Halide::Internal::IRPrinter
std::ostream & stream
 The stream on which we're outputting. More...
 
int indent = 0
 The current indentation level, useful for pretty-printing statements. More...
 
bool implicit_parens = false
 Certain expressions do not need parens around them, e.g. More...
 
Scope known_type
 The symbols whose types can be inferred from values printed already. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Halide::Internal::CodeGen_C
static void test ()
 
- Static Public Member Functions inherited from Halide::Internal::IRPrinter
static void test ()
 
- Protected Types inherited from Halide::Internal::CodeGen_C
enum  IntegerSuffixStyle { IntegerSuffixStyle::PlainC = 0, IntegerSuffixStyle::OpenCL = 1, IntegerSuffixStyle::HLSL = 2 }
 
enum  AppendSpaceIfNeeded { DoNotAppendSpace, AppendSpace }
 
- Static Protected Member Functions inherited from Halide::Internal::CodeGen_C
template<typename T >
static std::string with_sep (const std::vector< T > &v, const std::string &sep)
 
template<typename T >
static std::string with_commas (const std::vector< T > &v)
 

Detailed Description

A base class for GPU backends that require C-like shader output.

GPU backends derive from and specialize this class.

Definition at line 88 of file CodeGen_GPU_Dev.h.

Member Enumeration Documentation

◆ VectorDeclarationStyle

OpenCL and WGSL use different syntax than C for immediate vectors.

This enum defines which style should be used by the backend.

Enumerator
CLikeSyntax 
OpenCLSyntax 
WGSLSyntax 

Definition at line 92 of file CodeGen_GPU_Dev.h.

Constructor & Destructor Documentation

◆ CodeGen_GPU_C()

Halide::Internal::CodeGen_GPU_C::CodeGen_GPU_C ( std::ostream &  s,
Target  t 
)
inline

Definition at line 98 of file CodeGen_GPU_Dev.h.

Member Function Documentation

◆ visit() [1/95]

void Halide::Internal::CodeGen_GPU_C::visit ( const Shuffle op)
overrideprotectedvirtual

Reimplemented from Halide::Internal::CodeGen_C.

◆ visit() [2/95]

void Halide::Internal::CodeGen_GPU_C::visit ( const Call op)
overrideprotectedvirtual

Reimplemented from Halide::Internal::CodeGen_C.

◆ visit() [3/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [4/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [5/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [6/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [7/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [8/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [9/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [10/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [11/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [12/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [13/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [14/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [15/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [16/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [17/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [18/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [19/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [20/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [21/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [22/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [23/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [24/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [25/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [26/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [27/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [28/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [29/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [30/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [31/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [32/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [33/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [34/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [35/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [36/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [37/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [38/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [39/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [40/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [41/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [42/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [43/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [44/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [45/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [46/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [47/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [48/95]

void Halide::Internal::CodeGen_C::visit
overrideprotected

◆ visit() [49/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [50/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [51/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [52/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [53/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [54/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [55/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [56/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [57/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [58/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [59/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [60/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [61/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [62/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [63/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [64/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [65/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [66/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [67/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [68/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [69/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [70/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [71/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [72/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [73/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [74/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [75/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [76/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [77/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [78/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [79/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [80/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [81/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [82/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [83/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [84/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [85/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [86/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [87/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [88/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [89/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [90/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [91/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [92/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [93/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [94/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

◆ visit() [95/95]

void Halide::Internal::IRPrinter::visit
overrideprotected

Member Data Documentation

◆ vector_declaration_style

VectorDeclarationStyle Halide::Internal::CodeGen_GPU_C::vector_declaration_style = VectorDeclarationStyle::CLikeSyntax
protected

Definition at line 107 of file CodeGen_GPU_Dev.h.


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