Intel® Implicit SPMD Program Compiler (Intel® ISPC)
1.13.0
|
Public Member Functions | |
IsCompileTimeConstantPass (bool last=false) | |
llvm::StringRef | getPassName () const |
bool | runOnBasicBlock (llvm::BasicBlock &BB) |
bool | runOnFunction (llvm::Function &F) |
Public Attributes | |
bool | isLastTry |
Static Public Attributes | |
static char | ID = 0 |
LLVM IR implementations of target-specific functions may include calls to the functions "bool __is_compile_time_constant_*(...)"; these allow them to have specialied code paths for where the corresponding value is known at compile time. For masks, for example, this allows them to not incur the cost of a MOVMSK call at runtime to compute its value in cases where the mask value isn't known until runtime.
This pass resolves these calls into either 'true' or 'false' values so that later optimization passes can operate with these as constants.
See stdlib.m4 for a number of uses of this idiom.
|
inline |
|
inline |
bool IsCompileTimeConstantPass::runOnBasicBlock | ( | llvm::BasicBlock & | BB | ) |
Definition at line 4132 of file opt.cpp.
References DEBUG_END_PASS, DEBUG_START_PASS, Opt::disableGatherScatterFlattening, Opt::disableMaskAllOnOptimizations, g, LLVMFalse, LLVMTrue, m, Module::module, and Globals::opt.
bool IsCompileTimeConstantPass::runOnFunction | ( | llvm::Function & | F | ) |