Halide
Halide::Internal::Ramp Struct Reference

A linear ramp vector node. More...

#include <IR.h>

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

Static Public Member Functions

static Expr make (Expr base, Expr stride, int lanes)
 

Public Attributes

Expr base
 
Expr stride
 
int lanes
 
- 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::Ramp
 

Additional Inherited Members

- Public Member Functions inherited from Halide::Internal::ExprNode< Ramp >
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 linear ramp vector node.

This is vector with 'lanes' elements, where element i is 'base' + i*'stride'. This is a convenient way to pass around vectors without busting them up into individual elements. E.g. a dense vector load from a buffer can use a ramp node with stride 1 as the index.

Definition at line 239 of file IR.h.

Member Function Documentation

◆ make()

static Expr Halide::Internal::Ramp::make ( Expr  base,
Expr  stride,
int  lanes 
)
static

Member Data Documentation

◆ base

Expr Halide::Internal::Ramp::base

Definition at line 240 of file IR.h.

Referenced by Halide::Internal::IRMatcher::RampOp< A, B, C >::match().

◆ stride

Expr Halide::Internal::Ramp::stride

Definition at line 240 of file IR.h.

Referenced by Halide::Internal::IRMatcher::RampOp< A, B, C >::match().

◆ lanes

int Halide::Internal::Ramp::lanes

Definition at line 241 of file IR.h.

Referenced by Halide::Internal::IRMatcher::RampOp< A, B, C >::match().

◆ _node_type

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

Definition at line 245 of file IR.h.

Referenced by Halide::Internal::IRMatcher::RampOp< A, B, C >::match().


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