LLVM API Documentation
Collaboration diagram for VRPSolver:

Public Member Functions | |
| VRPSolver (ValueNumbering &VN, InequalityGraph &IG, UnreachableBlocks &UB, ValueRanges &VR, DomTreeDFS *DTDFS, bool &modified, BasicBlock *TopBB) | |
| VRPSolver (ValueNumbering &VN, InequalityGraph &IG, UnreachableBlocks &UB, ValueRanges &VR, DomTreeDFS *DTDFS, bool &modified, Instruction *TopInst) | |
| bool | isRelatedBy (Value *V1, Value *V2, ICmpInst::Predicate Pred) const |
| void | add (Value *V1, Value *V2, ICmpInst::Predicate Pred, Instruction *I=NULL) |
| add - adds a new property to the work queue | |
| void | defToOps (Instruction *I) |
| void | opsToDef (Instruction *I) |
| void | solve () |
| solve - process the work queue | |
Friends | |
| class | ValueRanges |
VRPSolver keeps track of how changes to one variable affect other variables, and forwards changes along to the InequalityGraph. It also maintains the correct choice for "canonical" in the IG.
Definition at line 1367 of file PredicateSimplifier.cpp.
|
||||||||||||||||||||||||||||||||
|
Definition at line 1698 of file PredicateSimplifier.cpp. |
|
||||||||||||||||||||||||||||||||
|
Definition at line 1714 of file PredicateSimplifier.cpp. |
|
||||||||||||||||||||
|
add - adds a new property to the work queue
Definition at line 1767 of file PredicateSimplifier.cpp. |
|
|
defToOps - Given an instruction definition that we've learned something new about, find any new relationships between its operands. Definition at line 1785 of file PredicateSimplifier.cpp. References add(), llvm::SelectInst::getCondition(), llvm::SelectInst::getFalseValue(), llvm::CastInst::getOpcode(), llvm::BinaryOperator::getOpcode(), llvm::User::getOperand(), llvm::GetElementPtrInst::getPointerOperand(), llvm::CmpInst::getPredicate(), llvm::CastInst::getSrcTy(), llvm::SelectInst::getTrueValue(), llvm::GetElementPtrInst::getType(), llvm::Value::getType(), llvm::ConstantInt::getValue(), llvm::GetElementPtrInst::idx_begin(), llvm::GetElementPtrInst::idx_end(), llvm::Type::isFPOrFPVector(), llvm::ConstantRange::isFullSet(), llvm::ConstantInt::isZero(), std::swap(), and llvm::ConstantRange::truncate(). |
|
||||||||||||||||
|
Definition at line 1731 of file PredicateSimplifier.cpp. |
|
|
opsToDef - A new relationship was discovered involving one of this instruction's operands. Find any new relationship involving the definition, or another operand. Definition at line 1914 of file PredicateSimplifier.cpp. References add(), llvm::SelectInst::getCondition(), llvm::CastInst::getDestTy(), llvm::SelectInst::getFalseValue(), llvm::CastInst::getOpcode(), llvm::BinaryOperator::getOpcode(), llvm::User::getOperand(), llvm::GetElementPtrInst::getPointerOperand(), llvm::CmpInst::getPredicate(), llvm::SelectInst::getTrueValue(), llvm::GetElementPtrInst::getType(), llvm::Value::getType(), llvm::GetElementPtrInst::idx_begin(), llvm::GetElementPtrInst::idx_end(), llvm::Type::isFPOrFPVector(), llvm::ConstantRange::isFullSet(), llvm::ConstantInt::isZero(), llvm::ConstantRange::signExtend(), std::swap(), llvm::ConstantRange::truncate(), and llvm::ConstantRange::zeroExtend(). |
|
|
solve - process the work queue
Definition at line 2104 of file PredicateSimplifier.cpp. |
|
|
Definition at line 1369 of file PredicateSimplifier.cpp. |