Halide 20.0.0
Halide compiler and libraries
 
Loading...
Searching...
No Matches
Halide::Internal::HostClosure Class Reference

A Closure modified to inspect GPU-specific memory accesses, and produce a vector of DeviceArgument objects. More...

#include <DeviceArgument.h>

Inheritance diagram for Halide::Internal::HostClosure:
Halide::Internal::Closure Halide::Internal::IRVisitor

Public Member Functions

 HostClosure ()=default
 
std::vector< DeviceArgumentarguments ()
 Get a description of the captured arguments.
 
- Public Member Functions inherited from Halide::Internal::Closure
 Closure ()=default
 
 Closure (const Closure &)=delete
 
Closureoperator= (const Closure &)=delete
 
 Closure (Closure &&)=default
 
Closureoperator= (Closure &&)=default
 
void include (const Stmt &s, const std::string &loop_variable="")
 Traverse a statement and find all references to external symbols.
 
Expr pack_into_struct () const
 Pack a closure into a struct.
 
Stmt unpack_from_struct (const Expr &, const Stmt &) const
 Unpack a closure around a Stmt, putting all the names in scope.
 
- Public Member Functions inherited from Halide::Internal::IRVisitor
 IRVisitor ()=default
 
virtual ~IRVisitor ()=default
 

Protected Member Functions

void visit (const For *loop) override
 
void visit (const Call *op) override
 
void visit (const Let *op) override
 
void visit (const LetStmt *op) override
 
void visit (const Load *op) override
 
void visit (const Store *op) override
 
void visit (const Allocate *op) override
 
void visit (const Variable *op) override
 
void visit (const Atomic *op) override
 
virtual void visit (const IntImm *)
 
virtual void visit (const UIntImm *)
 
virtual void visit (const FloatImm *)
 
virtual void visit (const StringImm *)
 
virtual void visit (const Cast *)
 
virtual void visit (const Reinterpret *)
 
virtual void visit (const Add *)
 
virtual void visit (const Sub *)
 
virtual void visit (const Mul *)
 
virtual void visit (const Div *)
 
virtual void visit (const Mod *)
 
virtual void visit (const Min *)
 
virtual void visit (const Max *)
 
virtual void visit (const EQ *)
 
virtual void visit (const NE *)
 
virtual void visit (const LT *)
 
virtual void visit (const LE *)
 
virtual void visit (const GT *)
 
virtual void visit (const GE *)
 
virtual void visit (const And *)
 
virtual void visit (const Or *)
 
virtual void visit (const Not *)
 
virtual void visit (const Select *)
 
virtual void visit (const Ramp *)
 
virtual void visit (const Broadcast *)
 
virtual void visit (const AssertStmt *)
 
virtual void visit (const ProducerConsumer *)
 
virtual void visit (const Provide *)
 
virtual void visit (const Free *)
 
virtual void visit (const Realize *)
 
virtual void visit (const Block *)
 
virtual void visit (const IfThenElse *)
 
virtual void visit (const Evaluate *)
 
virtual void visit (const Shuffle *)
 
virtual void visit (const VectorReduce *)
 
virtual void visit (const Prefetch *)
 
virtual void visit (const Fork *)
 
virtual void visit (const Acquire *)
 
virtual void visit (const HoistedStorage *)
 
- Protected Member Functions inherited from Halide::Internal::Closure
void found_buffer_ref (const std::string &name, Type type, bool read, bool written, const Halide::Buffer<> &image)
 

Additional Inherited Members

- Public Attributes inherited from Halide::Internal::Closure
std::map< std::string, Typevars
 External variables referenced.
 
std::map< std::string, Bufferbuffers
 External allocations referenced.
 
- Protected Attributes inherited from Halide::Internal::Closure
Scope ignore
 

Detailed Description

A Closure modified to inspect GPU-specific memory accesses, and produce a vector of DeviceArgument objects.

Definition at line 95 of file DeviceArgument.h.

Constructor & Destructor Documentation

◆ HostClosure()

Halide::Internal::HostClosure::HostClosure ( )
default

Member Function Documentation

◆ arguments()

std::vector< DeviceArgument > Halide::Internal::HostClosure::arguments ( )

Get a description of the captured arguments.

References Halide::Internal::Closure::visit().

◆ visit() [1/48]

void Halide::Internal::HostClosure::visit ( const For * loop)
overrideprotectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [2/48]

void Halide::Internal::HostClosure::visit ( const Call * op)
overrideprotectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [3/48]

void Halide::Internal::Closure::visit ( const Let * op)
overrideprotectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [4/48]

void Halide::Internal::Closure::visit ( const LetStmt * op)
overrideprotectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [5/48]

void Halide::Internal::Closure::visit ( const Load * op)
overrideprotectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [6/48]

void Halide::Internal::Closure::visit ( const Store * op)
overrideprotectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [7/48]

void Halide::Internal::Closure::visit ( const Allocate * op)
overrideprotectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [8/48]

void Halide::Internal::Closure::visit ( const Variable * op)
overrideprotectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [9/48]

void Halide::Internal::Closure::visit ( const Atomic * op)
overrideprotectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [10/48]

virtual void Halide::Internal::IRVisitor::visit ( const IntImm * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [11/48]

virtual void Halide::Internal::IRVisitor::visit ( const UIntImm * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [12/48]

virtual void Halide::Internal::IRVisitor::visit ( const FloatImm * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [13/48]

virtual void Halide::Internal::IRVisitor::visit ( const StringImm * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [14/48]

virtual void Halide::Internal::IRVisitor::visit ( const Cast * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [15/48]

virtual void Halide::Internal::IRVisitor::visit ( const Reinterpret * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [16/48]

virtual void Halide::Internal::IRVisitor::visit ( const Add * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [17/48]

virtual void Halide::Internal::IRVisitor::visit ( const Sub * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [18/48]

virtual void Halide::Internal::IRVisitor::visit ( const Mul * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [19/48]

virtual void Halide::Internal::IRVisitor::visit ( const Div * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [20/48]

virtual void Halide::Internal::IRVisitor::visit ( const Mod * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [21/48]

virtual void Halide::Internal::IRVisitor::visit ( const Min * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [22/48]

virtual void Halide::Internal::IRVisitor::visit ( const Max * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [23/48]

virtual void Halide::Internal::IRVisitor::visit ( const EQ * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [24/48]

virtual void Halide::Internal::IRVisitor::visit ( const NE * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [25/48]

virtual void Halide::Internal::IRVisitor::visit ( const LT * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [26/48]

virtual void Halide::Internal::IRVisitor::visit ( const LE * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [27/48]

virtual void Halide::Internal::IRVisitor::visit ( const GT * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [28/48]

virtual void Halide::Internal::IRVisitor::visit ( const GE * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [29/48]

virtual void Halide::Internal::IRVisitor::visit ( const And * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [30/48]

virtual void Halide::Internal::IRVisitor::visit ( const Or * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [31/48]

virtual void Halide::Internal::IRVisitor::visit ( const Not * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [32/48]

virtual void Halide::Internal::IRVisitor::visit ( const Select * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [33/48]

virtual void Halide::Internal::IRVisitor::visit ( const Ramp * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [34/48]

virtual void Halide::Internal::IRVisitor::visit ( const Broadcast * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [35/48]

virtual void Halide::Internal::IRVisitor::visit ( const AssertStmt * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [36/48]

virtual void Halide::Internal::IRVisitor::visit ( const ProducerConsumer * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [37/48]

virtual void Halide::Internal::IRVisitor::visit ( const Provide * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [38/48]

virtual void Halide::Internal::IRVisitor::visit ( const Free * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [39/48]

virtual void Halide::Internal::IRVisitor::visit ( const Realize * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [40/48]

virtual void Halide::Internal::IRVisitor::visit ( const Block * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [41/48]

virtual void Halide::Internal::IRVisitor::visit ( const IfThenElse * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [42/48]

virtual void Halide::Internal::IRVisitor::visit ( const Evaluate * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [43/48]

virtual void Halide::Internal::IRVisitor::visit ( const Shuffle * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [44/48]

virtual void Halide::Internal::IRVisitor::visit ( const VectorReduce * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [45/48]

virtual void Halide::Internal::IRVisitor::visit ( const Prefetch * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [46/48]

virtual void Halide::Internal::IRVisitor::visit ( const Fork * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [47/48]

virtual void Halide::Internal::IRVisitor::visit ( const Acquire * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.

◆ visit() [48/48]

virtual void Halide::Internal::IRVisitor::visit ( const HoistedStorage * )
protectedvirtual

Reimplemented from Halide::Internal::Closure.


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