Intel SPMD Program Compiler  1.9.1
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
IsCompileTimeConstantPass Class Reference
Inheritance diagram for IsCompileTimeConstantPass:
Inheritance graph
[legend]
Collaboration diagram for IsCompileTimeConstantPass:
Collaboration graph
[legend]

Public Member Functions

 IsCompileTimeConstantPass (bool last=false)
 
const char * getPassName () const
 
bool runOnBasicBlock (llvm::BasicBlock &BB)
 

Public Attributes

bool isLastTry
 

Static Public Attributes

static char ID = 0
 

Detailed Description

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.

Definition at line 4701 of file opt.cpp.

Constructor & Destructor Documentation

IsCompileTimeConstantPass::IsCompileTimeConstantPass ( bool  last = false)
inline

Definition at line 4704 of file opt.cpp.

References isLastTry.

Member Function Documentation

const char* IsCompileTimeConstantPass::getPassName ( ) const
inline

Definition at line 4708 of file opt.cpp.

bool IsCompileTimeConstantPass::runOnBasicBlock ( llvm::BasicBlock &  BB)

Member Data Documentation

char IsCompileTimeConstantPass::ID = 0
static

Definition at line 4703 of file opt.cpp.

bool IsCompileTimeConstantPass::isLastTry

Definition at line 4711 of file opt.cpp.

Referenced by IsCompileTimeConstantPass(), and runOnBasicBlock().


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