Halide
IR.h File Reference
#include <string>
#include <vector>
#include "Buffer.h"
#include "Expr.h"
#include "FunctionPtr.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::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::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

 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.
 
 Halide::Internal
 

Detailed Description

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

Definition in file IR.h.