Intel® Implicit SPMD Program Compiler (Intel® ISPC)
1.13.0
|
Public Member Functions | |
MaskOpsCleanupPass (llvm::Module *m) | |
llvm::StringRef | getPassName () const |
bool | runOnBasicBlock (llvm::BasicBlock &BB) |
bool | runOnFunction (llvm::Function &F) |
Private Member Functions | |
llvm::Value * | lGetNotOperand (llvm::Value *v) const |
Private Attributes | |
llvm::Function * | notFunc |
llvm::Function * | andNotFuncs [2] |
Static Private Attributes | |
static char | ID = 0 |
This pass does various peephole improvements to mask modification operations. In particular, it converts mask XORs with "all true" to calls to __not() and replaces operations like and(not(a), b) to __and_not1(a, b) (and similarly if the second operand has not applied to it...)
Definition at line 5085 of file cbackend.cpp.
|
inline |
Definition at line 5087 of file cbackend.cpp.
|
inline |
Definition at line 5122 of file cbackend.cpp.
|
private |
Checks to see if the given value is the NOT of some other value. If so, it returns the operand of the NOT; otherwise returns NULL.
Definition at line 5158 of file cbackend.cpp.
bool MaskOpsCleanupPass::runOnBasicBlock | ( | llvm::BasicBlock & | BB | ) |
Definition at line 5172 of file cbackend.cpp.
bool MaskOpsCleanupPass::runOnFunction | ( | llvm::Function & | F | ) |
Definition at line 5224 of file cbackend.cpp.
|
private |
Definition at line 5129 of file cbackend.cpp.
|
staticprivate |
Definition at line 5131 of file cbackend.cpp.
|
private |
Definition at line 5129 of file cbackend.cpp.