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

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 4299 of file opt.cpp.

Constructor & Destructor Documentation

◆ IsCompileTimeConstantPass()

IsCompileTimeConstantPass::IsCompileTimeConstantPass ( bool  last = false)

Definition at line 4302 of file opt.cpp.

Member Function Documentation

◆ getPassName()

const char* IsCompileTimeConstantPass::getPassName ( ) const

Definition at line 4305 of file opt.cpp.

◆ runOnBasicBlock()

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

Member Data Documentation

◆ ID

char IsCompileTimeConstantPass::ID = 0

Definition at line 4301 of file opt.cpp.

◆ isLastTry

bool IsCompileTimeConstantPass::isLastTry

Definition at line 4311 of file opt.cpp.

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