Proteus
Programmable JIT compilation and optimization for C/C++ using LLVM
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
proteus::ForLoopBuilder< T, BodyLambda > Class Template Reference

#include <LoopNest.hpp>

Collaboration diagram for proteus::ForLoopBuilder< T, BodyLambda >:
Collaboration graph
[legend]

Public Types

using LoopIndexType = T
 

Public Member Functions

 ForLoopBuilder (const LoopBoundInfo< T > &Bounds, FuncBase &Fn, BodyLambda &&Body)
 
ForLoopBuildertile (int Tile)
 
void emit ()
 

Public Attributes

LoopBoundInfo< TBounds
 
std::optional< intTileSize
 
BodyLambda Body
 
FuncBaseFn
 

Member Typedef Documentation

◆ LoopIndexType

Constructor & Destructor Documentation

◆ ForLoopBuilder()

template<typename T , typename BodyLambda >
proteus::ForLoopBuilder< T, BodyLambda >::ForLoopBuilder ( const LoopBoundInfo< T > &  Bounds,
FuncBase Fn,
BodyLambda &&  Body 
)
inline

Member Function Documentation

◆ emit()

◆ tile()

template<typename T , typename BodyLambda >
ForLoopBuilder & proteus::ForLoopBuilder< T, BodyLambda >::tile ( int  Tile)
inline

Member Data Documentation

◆ Body

◆ Bounds

◆ Fn

◆ TileSize

template<typename T , typename BodyLambda >
std::optional<int> proteus::ForLoopBuilder< T, BodyLambda >::TileSize

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