LLVM 22.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
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 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: