Proteus
Programmable JIT compilation and optimization for C/C++ using LLVM
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
proteus::LambdaArgVisitor Class Reference

#include <KernelArgVisitor.h>

Inheritance diagram for proteus::LambdaArgVisitor:
Inheritance graph
[legend]
Collaboration diagram for proteus::LambdaArgVisitor:
Collaboration graph
[legend]

Public Member Functions

LambdaKernelArgAnalysis getKernelArgInfo ()
 
auto back ()
 
void popBack ()
 
bool seen (Value *Val)
 
void markAsSeen (Value *Val)
 
bool empty ()
 
bool success ()
 
bool failed ()
 
auto getOffset ()
 
 LambdaArgVisitor (CallBase *LambdaCB, Module &M)
 
void visitStoreInst (StoreInst &SI)
 
void visitCallBase (CallBase &CB)
 
void visitLoadInst (LoadInst &LI)
 
void visitGetElementPtrInst (GetElementPtrInst &GEP)
 
void visitExtractValueInst (ExtractValueInst &EVI)
 
void visitInsertValueInst (InsertValueInst &IVI)
 
void visitAllocaInst (AllocaInst &Alloca)
 
void visitBitCastInst (BitCastInst &BC)
 
void visitAddrSpaceCastInst (AddrSpaceCastInst &ASC)
 
void visitIntToPtr (IntToPtrInst &ITP)
 
void visitMemIntrinsic (MemIntrinsic &I)
 
void visitIntrinsicInst (IntrinsicInst &)
 
void visitTruncInst (TruncInst &TI)
 
void visitArgument (Argument &A)
 
void visitInstruction (Instruction &I)
 
void visitPHINode (PHINode &P)
 
void visitSelectInst (SelectInst &S)
 

Public Attributes

Value * MemoryAnalysisPtrUse = nullptr
 

Constructor & Destructor Documentation

◆ LambdaArgVisitor()

proteus::LambdaArgVisitor::LambdaArgVisitor ( CallBase *  LambdaCB,
Module &  M 
)
inline

Member Function Documentation

◆ back()

auto proteus::LambdaArgVisitor::back ( )
inline

◆ empty()

bool proteus::LambdaArgVisitor::empty ( )
inline

◆ failed()

bool proteus::LambdaArgVisitor::failed ( )
inline

◆ getKernelArgInfo()

LambdaKernelArgAnalysis proteus::LambdaArgVisitor::getKernelArgInfo ( )
inline

◆ getOffset()

auto proteus::LambdaArgVisitor::getOffset ( )
inline

◆ markAsSeen()

void proteus::LambdaArgVisitor::markAsSeen ( Value *  Val)
inline

◆ popBack()

void proteus::LambdaArgVisitor::popBack ( )
inline

◆ seen()

bool proteus::LambdaArgVisitor::seen ( Value *  Val)
inline

◆ success()

bool proteus::LambdaArgVisitor::success ( )
inline

◆ visitAddrSpaceCastInst()

void proteus::LambdaArgVisitor::visitAddrSpaceCastInst ( AddrSpaceCastInst &  ASC)
inline

◆ visitAllocaInst()

void proteus::LambdaArgVisitor::visitAllocaInst ( AllocaInst &  Alloca)
inline

◆ visitArgument()

void proteus::LambdaArgVisitor::visitArgument ( Argument &  A)
inline

◆ visitBitCastInst()

void proteus::LambdaArgVisitor::visitBitCastInst ( BitCastInst &  BC)
inline

◆ visitCallBase()

void proteus::LambdaArgVisitor::visitCallBase ( CallBase &  CB)
inline

◆ visitExtractValueInst()

void proteus::LambdaArgVisitor::visitExtractValueInst ( ExtractValueInst &  EVI)
inline

◆ visitGetElementPtrInst()

void proteus::LambdaArgVisitor::visitGetElementPtrInst ( GetElementPtrInst &  GEP)
inline

◆ visitInsertValueInst()

void proteus::LambdaArgVisitor::visitInsertValueInst ( InsertValueInst &  IVI)
inline

◆ visitInstruction()

void proteus::LambdaArgVisitor::visitInstruction ( Instruction &  I)
inline

◆ visitIntrinsicInst()

void proteus::LambdaArgVisitor::visitIntrinsicInst ( IntrinsicInst &  )
inline

◆ visitIntToPtr()

void proteus::LambdaArgVisitor::visitIntToPtr ( IntToPtrInst &  ITP)
inline

◆ visitLoadInst()

void proteus::LambdaArgVisitor::visitLoadInst ( LoadInst &  LI)
inline

◆ visitMemIntrinsic()

void proteus::LambdaArgVisitor::visitMemIntrinsic ( MemIntrinsic &  I)
inline

◆ visitPHINode()

void proteus::LambdaArgVisitor::visitPHINode ( PHINode &  P)
inline

◆ visitSelectInst()

void proteus::LambdaArgVisitor::visitSelectInst ( SelectInst &  S)
inline

◆ visitStoreInst()

void proteus::LambdaArgVisitor::visitStoreInst ( StoreInst &  SI)
inline

◆ visitTruncInst()

void proteus::LambdaArgVisitor::visitTruncInst ( TruncInst &  TI)
inline

Member Data Documentation

◆ MemoryAnalysisPtrUse

Value* proteus::LambdaArgVisitor::MemoryAnalysisPtrUse = nullptr

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