Halide
Halide::Internal::Variable Struct Reference

A named variable. More...

#include <IR.h>

Inherits Halide::Internal::ExprNode< Variable >.

Static Public Member Functions

static Expr make (Type type, const std::string &name)
 
static Expr make (Type type, const std::string &name, Parameter param)
 
static Expr make (Type type, const std::string &name, const Buffer<> &image)
 
static Expr make (Type type, const std::string &name, ReductionDomain reduction_domain)
 
static Expr make (Type type, const std::string &name, Buffer<> image, Parameter param, ReductionDomain reduction_domain)
 

Public Attributes

std::string name
 
Parameter param
 References to scalar parameters, or to the dimensions of buffer parameters hang onto those expressions. More...
 
Buffer image
 References to properties of literal image parameters. More...
 
ReductionDomain reduction_domain
 Reduction variables hang onto their domains. More...
 
- Public Attributes inherited from Halide::Internal::BaseExprNode
Type type
 
- Public Attributes inherited from Halide::Internal::IRNode
RefCount ref_count
 These classes are all managed with intrusive reference counting, so we also track a reference count. More...
 
IRNodeType node_type
 Each IR node subclass has a unique identifier. More...
 

Static Public Attributes

static const IRNodeType _node_type = IRNodeType::Variable
 

Additional Inherited Members

- Public Member Functions inherited from Halide::Internal::ExprNode< Variable >
void accept (IRVisitor *v) const override
 We use the visitor pattern to traverse IR nodes throughout the compiler, so we have a virtual accept method which accepts visitors. More...
 
Expr mutate_expr (IRMutator *v) const override
 
 ExprNode ()
 
 ~ExprNode () override=default
 
- Public Member Functions inherited from Halide::Internal::BaseExprNode
 BaseExprNode (IRNodeType t)
 
- Public Member Functions inherited from Halide::Internal::IRNode
 IRNode (IRNodeType t)
 
virtual ~IRNode ()=default
 

Detailed Description

A named variable.

Might be a loop variable, function argument, parameter, reduction variable, or something defined by a Let or LetStmt node.

Definition at line 651 of file IR.h.

Member Function Documentation

◆ make() [1/5]

static Expr Halide::Internal::Variable::make ( Type  type,
const std::string &  name 
)
inlinestatic

◆ make() [2/5]

static Expr Halide::Internal::Variable::make ( Type  type,
const std::string &  name,
Parameter  param 
)
inlinestatic

Definition at line 668 of file IR.h.

References make(), name, param, and Halide::Internal::BaseExprNode::type.

◆ make() [3/5]

static Expr Halide::Internal::Variable::make ( Type  type,
const std::string &  name,
const Buffer<> &  image 
)
inlinestatic

Definition at line 672 of file IR.h.

References image, make(), name, and Halide::Internal::BaseExprNode::type.

◆ make() [4/5]

static Expr Halide::Internal::Variable::make ( Type  type,
const std::string &  name,
ReductionDomain  reduction_domain 
)
inlinestatic

Definition at line 676 of file IR.h.

References make(), name, reduction_domain, and Halide::Internal::BaseExprNode::type.

◆ make() [5/5]

static Expr Halide::Internal::Variable::make ( Type  type,
const std::string &  name,
Buffer<>  image,
Parameter  param,
ReductionDomain  reduction_domain 
)
static

Member Data Documentation

◆ name

std::string Halide::Internal::Variable::name

Definition at line 652 of file IR.h.

Referenced by make(), and Halide::Internal::Simplify::should_commute().

◆ param

Parameter Halide::Internal::Variable::param

References to scalar parameters, or to the dimensions of buffer parameters hang onto those expressions.

Definition at line 656 of file IR.h.

Referenced by make().

◆ image

Buffer Halide::Internal::Variable::image

References to properties of literal image parameters.

Definition at line 659 of file IR.h.

Referenced by make().

◆ reduction_domain

ReductionDomain Halide::Internal::Variable::reduction_domain

Reduction variables hang onto their domains.

Definition at line 662 of file IR.h.

Referenced by make().

◆ _node_type

const IRNodeType Halide::Internal::Variable::_node_type = IRNodeType::Variable
static

Definition at line 683 of file IR.h.


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