Halide 22.0.0 Halide compiler and libraries

Loading...
Searching...
No Matches
Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Halide::Internal::Ramp Struct Reference

A linear ramp vector node. More...

`#include <IR.h>`

Inheritance diagram for Halide::Internal::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.
IRNodeType | node_type
| Each IR node subclass has a unique identifier.

## 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.
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 257 of file IR.h.

## Member Function Documentation

## ◆ make()

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

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

## Member Data Documentation

## ◆ base

Expr Halide::Internal::Ramp::base

Definition at line 258 of file IR.h.

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

## ◆ stride

Expr Halide::Internal::Ramp::stride

Definition at line 258 of file IR.h.

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

## ◆ lanes

int Halide::Internal::Ramp::lanes

Definition at line 259 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 263 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:

- src/IR.h