#include <SparsePropagation.h>
Public Types | |
| typedef void * | LatticeVal |
Public Member Functions | |
| AbstractLatticeFunction (LatticeVal undefVal, LatticeVal overdefinedVal, LatticeVal untrackedVal) | |
| LatticeVal | getUndefVal () const |
| LatticeVal | getOverdefinedVal () const |
| LatticeVal | getUntrackedVal () const |
| virtual bool | IsUntrackedValue (Value *V) |
| virtual LatticeVal | ComputeConstant (Constant *C) |
| virtual bool | IsSpecialCasedPHI (PHINode *PN) |
| virtual Constant * | GetConstant (LatticeVal LV, Value *Val, SparseSolver &SS) |
| virtual LatticeVal | ComputeArgument (Argument *I) |
| virtual LatticeVal | MergeValues (LatticeVal X, LatticeVal Y) |
| virtual LatticeVal | ComputeInstructionState (Instruction &I, SparseSolver &SS) |
| virtual void | PrintValue (LatticeVal V, raw_ostream &OS) |
| PrintValue - Render the specified lattice value to the specified stream. | |
| virtual LatticeVal llvm::AbstractLatticeFunction::ComputeArgument | ( | Argument * | I | ) | [inline, virtual] |
ComputeArgument - Given a formal argument value, compute and return a lattice value corresponding to the specified argument.
| virtual LatticeVal llvm::AbstractLatticeFunction::ComputeConstant | ( | Constant * | C | ) | [inline, virtual] |
ComputeConstant - Given a constant value, compute and return a lattice value corresponding to the specified constant.
| virtual LatticeVal llvm::AbstractLatticeFunction::ComputeInstructionState | ( | Instruction & | I, | |
| SparseSolver & | SS | |||
| ) | [inline, virtual] |
ComputeInstructionState - Given an instruction and a vector of its operand values, compute the result value of the instruction.
| virtual Constant* llvm::AbstractLatticeFunction::GetConstant | ( | LatticeVal | LV, | |
| Value * | Val, | |||
| SparseSolver & | SS | |||
| ) | [inline, virtual] |
GetConstant - If the specified lattice value is representable as an LLVM constant value, return it. Otherwise return null. The returned value must be in the same LLVM type as Val.
| virtual bool llvm::AbstractLatticeFunction::IsSpecialCasedPHI | ( | PHINode * | PN | ) | [inline, virtual] |
IsSpecialCasedPHI - Given a PHI node, determine whether this PHI node is one that the we want to handle through ComputeInstructionState.
| virtual bool llvm::AbstractLatticeFunction::IsUntrackedValue | ( | Value * | V | ) | [inline, virtual] |
IsUntrackedValue - If the specified Value is something that is obviously uninteresting to the analysis (and would always return UntrackedVal), this function can return true to avoid pointless work.
| virtual LatticeVal llvm::AbstractLatticeFunction::MergeValues | ( | LatticeVal | X, | |
| LatticeVal | Y | |||
| ) | [inline, virtual] |
MergeValues - Compute and return the merge of the two specified lattice values. Merging should only move one direction down the lattice to guarantee convergence (toward overdefined).
1.5.8