Halide 22.0.0 Halide compiler and libraries

Classes | Namespaces
IR.h File Reference

Subtypes for Halide expressions (Halide::Expr) and statements (Halide::Internal::Stmt) More...

`#include <string>`
`#include <vector>`
`#include "Buffer.h"`
`#include "Expr.h"`
`#include "FunctionPtr.h"`
`#include "LoopPartitioningDirective.h"`
`#include "ModulusRemainder.h"`
`#include "Parameter.h"`
`#include "PrefetchDirective.h"`
`#include "Reduction.h"`
`#include "Type.h"`

Go to the source code of this file.

## Classes
struct | Halide::Internal::LambdaOverloads< Ts >
struct | Halide::Internal::Cast
| The actual IR nodes begin here. More...
struct | Halide::Internal::Reinterpret
| Reinterpret value as another type, without affecting any of the bits (on little-endian systems). More...
struct | Halide::Internal::Add
| The sum of two expressions. More...
struct | Halide::Internal::Sub
| The difference of two expressions. More...
struct | Halide::Internal::Mul
| The product of two expressions. More...
struct | Halide::Internal::Div
| The ratio of two expressions. More...
struct | Halide::Internal::Mod
| The remainder of a / b. More...
struct | Halide::Internal::Min
| The lesser of two values. More...
struct | Halide::Internal::Max
| The greater of two values. More...
struct | Halide::Internal::EQ
| Is the first expression equal to the second. More...
struct | Halide::Internal::NE
| Is the first expression not equal to the second. More...
struct | Halide::Internal::LT
| Is the first expression less than the second. More...
struct | Halide::Internal::LE
| Is the first expression less than or equal to the second. More...
struct | Halide::Internal::GT
| Is the first expression greater than the second. More...
struct | Halide::Internal::GE
| Is the first expression greater than or equal to the second. More...
struct | Halide::Internal::And
| Logical and - are both expressions true. More...
struct | Halide::Internal::Or
| Logical or - is at least one of the expression true. More...
struct | Halide::Internal::Not
| Logical not - true if the expression false. More...
struct | Halide::Internal::Select
| A ternary operator. More...
struct | Halide::Internal::Load
| Load a value from a named symbol if predicate is true. More...
struct | Halide::Internal::Ramp
| A linear ramp vector node. More...
struct | Halide::Internal::Broadcast
| A vector with 'lanes' elements, in which every element is 'value'. More...
struct | Halide::Internal::Let
| A let expression, like you might find in a functional language. More...
struct | Halide::Internal::LetStmt
| The statement form of a let node. More...
struct | Halide::Internal::AssertStmt
| If the 'condition' is false, then evaluate and return the message, which should be a call to an error function. More...
struct | Halide::Internal::ProducerConsumer
| This node is a helpful annotation to do with permissions. More...
struct | Halide::Internal::Store
| Store a 'value' to the buffer called 'name' at a given 'index' if 'predicate' is true. More...
struct | Halide::Internal::Provide
| This defines the value of a function at a multi-dimensional location. More...
struct | Halide::Internal::Allocate
| Allocate a scratch area called with the given name, type, and size. More...
struct | Halide::Internal::Free
| Free the resources associated with the given buffer. More...
struct | Halide::Internal::Realize
| Allocate a multi-dimensional buffer of the given type and size. More...
struct | Halide::Internal::Block
| A sequence of statements to be executed in-order. More...
struct | Halide::Internal::Fork
| A pair of statements executed concurrently. More...
struct | Halide::Internal::IfThenElse
| An if-then-else block. More...
struct | Halide::Internal::Evaluate
| Evaluate and discard an expression, presumably because it has some side-effect. More...
struct | Halide::Internal::Call
| A function call. More...
struct | Halide::Internal::Variable
| A named variable. More...
struct | Halide::Internal::For
| A for loop. More...
struct | Halide::Internal::Acquire
struct | Halide::Internal::Shuffle
| Construct a new vector by taking elements from another sequence of vectors. More...
struct | Halide::Internal::Prefetch
| Represent a multi-dimensional region of a Func or an ImageParam that needs to be prefetched. More...
struct | Halide::Internal::HoistedStorage
| Represents a location where storage will be hoisted to for a Func / Realize node with a given name. More...
struct | Halide::Internal::Atomic
| Lock all the Store nodes in the body statement. More...
struct | Halide::Internal::VectorReduce
| Horizontally reduce a vector to a scalar or narrower vector using the given commutative and associative binary operator. More...

## Namespaces
namespace | Halide
| This file defines the class FunctionDAG, which is our representation of a Halide pipeline, and contains methods to using Halide's bounds tools to query properties of it.
namespace | Halide::Internal

## Detailed Description

Subtypes for Halide expressions (Halide::Expr) and statements (Halide::Internal::Stmt)

Definition in file IR.h.