LLVM
8.0.1
|
Utility class representing a non-constant Xor-operand. More...
Public Member Functions | |
XorOpnd (Value *V) | |
bool | isInvalid () const |
bool | isOrExpr () const |
Value * | getValue () const |
Value * | getSymbolicPart () const |
unsigned | getSymbolicRank () const |
const APInt & | getConstPart () const |
void | Invalidate () |
void | setSymbolicRank (unsigned R) |
Utility class representing a non-constant Xor-operand.
We classify non-constant Xor-Operands into two categories: C1) The operand is in the form "X & C", where C is a constant and C != ~0 C2) C2.1) The operand is in the form of "X | C", where C is a non-zero constant. C2.2) Any operand E which doesn't fall into C1 and C2.1, we view this operand as "E | 0"
Definition at line 96 of file Reassociate.cpp.
XorOpnd::XorOpnd | ( | Value * | V | ) |
Definition at line 118 of file Reassociate.cpp.
References assert(), C, llvm::dyn_cast(), llvm::APInt::getNullValue(), llvm::Instruction::getOpcode(), llvm::User::getOperand(), llvm::Type::getScalarSizeInBits(), llvm::Value::getType(), I, llvm::PatternMatch::m_APInt(), llvm::PatternMatch::match(), and std::swap().
Definition at line 105 of file Reassociate.cpp.
Referenced by createAndInstr().
|
inline |
Definition at line 103 of file Reassociate.cpp.
Referenced by createAndInstr().
|
inline |
Definition at line 104 of file Reassociate.cpp.
Referenced by createAndInstr().
|
inline |
Definition at line 102 of file Reassociate.cpp.
Referenced by createAndInstr().
|
inline |
Definition at line 107 of file Reassociate.cpp.
Referenced by createAndInstr().
|
inline |
Definition at line 100 of file Reassociate.cpp.
Referenced by createAndInstr().
|
inline |
Definition at line 101 of file Reassociate.cpp.
Referenced by createAndInstr().
|
inline |
Definition at line 108 of file Reassociate.cpp.
Referenced by createAndInstr().