LLVM 20.0.0git
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 102 of file Reassociate.cpp.

Constructor & Destructor Documentation

◆ XorOpnd()

XorOpnd::XorOpnd ( Value V)

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: