LLVM  4.0.0
Public Member Functions | List of all members
llvm::reassociate::XorOpnd Class Reference

Utility class representing a non-constant Xor-operand. More...

Public Member Functions

 XorOpnd (Value *V)
 
bool isInvalid () const
 
bool isOrExpr () const
 
ValuegetValue () const
 
ValuegetSymbolicPart () const
 
unsigned getSymbolicRank () const
 
const APIntgetConstPart () const
 
void Invalidate ()
 
void setSymbolicRank (unsigned R)
 

Detailed Description

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 77 of file Reassociate.cpp.

Constructor & Destructor Documentation

XorOpnd::XorOpnd ( Value V)

Member Function Documentation

const APInt& llvm::reassociate::XorOpnd::getConstPart ( ) const
inline

Definition at line 86 of file Reassociate.cpp.

Value* llvm::reassociate::XorOpnd::getSymbolicPart ( ) const
inline

Definition at line 84 of file Reassociate.cpp.

unsigned llvm::reassociate::XorOpnd::getSymbolicRank ( ) const
inline

Definition at line 85 of file Reassociate.cpp.

Value* llvm::reassociate::XorOpnd::getValue ( ) const
inline

Definition at line 83 of file Reassociate.cpp.

void llvm::reassociate::XorOpnd::Invalidate ( )
inline

Definition at line 88 of file Reassociate.cpp.

bool llvm::reassociate::XorOpnd::isInvalid ( ) const
inline

Definition at line 81 of file Reassociate.cpp.

bool llvm::reassociate::XorOpnd::isOrExpr ( ) const
inline

Definition at line 82 of file Reassociate.cpp.

void llvm::reassociate::XorOpnd::setSymbolicRank ( unsigned  R)
inline

Definition at line 89 of file Reassociate.cpp.


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