LLVM 24.0.0git
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
Value * getValue () const
Value * getSymbolicPart () const
unsigned getSymbolicRank () const
const APInt & getConstPart () 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 102 of file Reassociate.cpp.

Constructor & Destructor Documentation

◆ XorOpnd()

Member Function Documentation

◆ getConstPart()

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

Definition at line 111 of file Reassociate.cpp.

◆ getSymbolicPart()

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

Definition at line 109 of file Reassociate.cpp.

◆ getSymbolicRank()

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

Definition at line 110 of file Reassociate.cpp.

◆ getValue()

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

Definition at line 108 of file Reassociate.cpp.

◆ Invalidate()

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

Definition at line 113 of file Reassociate.cpp.

◆ isInvalid()

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

Definition at line 106 of file Reassociate.cpp.

◆ isOrExpr()

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

Definition at line 107 of file Reassociate.cpp.

◆ setSymbolicRank()

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

Definition at line 114 of file Reassociate.cpp.


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