Halide 19.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
Halide::Internal::Variable Struct Reference

A named variable. More...

#include <IR.h>

Inheritance diagram for Halide::Internal::Variable:
Halide::Internal::ExprNode< Variable > Halide::Internal::BaseExprNode Halide::Internal::IRNode

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.
 
Buffer image
 References to properties of literal image parameters.
 
ReductionDomain reduction_domain
 Reduction variables hang onto their domains.
 
- 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.
 
IRNodeType node_type
 Each IR node subclass has a unique identifier.
 

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.
 
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 772 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 789 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 793 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 797 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 773 of file IR.h.

Referenced by make(), make(), make(), 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 777 of file IR.h.

Referenced by make().

◆ image

Buffer Halide::Internal::Variable::image

References to properties of literal image parameters.

Definition at line 780 of file IR.h.

Referenced by make().

◆ reduction_domain

ReductionDomain Halide::Internal::Variable::reduction_domain

Reduction variables hang onto their domains.

Definition at line 783 of file IR.h.

Referenced by make().

◆ _node_type

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

Definition at line 804 of file IR.h.


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