LLVM API Documentation
#include "llvm/Analysis/LazyValueInfo.h"#include "llvm/ADT/DenseSet.h"#include "llvm/ADT/STLExtras.h"#include "llvm/Analysis/ConstantFolding.h"#include "llvm/Analysis/ValueTracking.h"#include "llvm/IR/Constants.h"#include "llvm/IR/DataLayout.h"#include "llvm/IR/Instructions.h"#include "llvm/IR/IntrinsicInst.h"#include "llvm/Support/CFG.h"#include "llvm/Support/ConstantRange.h"#include "llvm/Support/Debug.h"#include "llvm/Support/PatternMatch.h"#include "llvm/Support/ValueHandle.h"#include "llvm/Support/raw_ostream.h"#include "llvm/Target/TargetLibraryInfo.h"#include <map>#include <stack>
Go to the source code of this file.
Namespaces | |
| namespace | llvm |
List of target independent CodeGen pass IDs. | |
Defines | |
| #define | DEBUG_TYPE "lazy-value-info" |
Functions | |
| INITIALIZE_PASS_BEGIN (LazyValueInfo,"lazy-value-info","Lazy Value Information Analysis", false, true) INITIALIZE_PASS_END(LazyValueInfo | |
| FunctionPass * | llvm::createLazyValueInfoPass () |
| raw_ostream & | llvm::operator<< (raw_ostream &OS, const LVILatticeVal &Val) LLVM_ATTRIBUTE_USED |
| static bool | InstructionDereferencesPointer (Instruction *I, Value *Ptr) |
| static bool | getEdgeValueLocal (Value *Val, BasicBlock *BBFrom, BasicBlock *BBTo, LVILatticeVal &Result) |
| Compute the value of Val on the edge BBFrom -> BBTo. Returns false if Val is not constrained on the edge. | |
| static LazyValueInfoCache & | getCache (void *&PImpl) |
| getCache - This lazily constructs the LazyValueInfoCache. | |
Variables | |
| lazy value | info |
| lazy value Lazy Value Information | Analysis |
| lazy value Lazy Value Information | false |
| #define DEBUG_TYPE "lazy-value-info" |
Definition at line 15 of file LazyValueInfo.cpp.
| static LazyValueInfoCache& getCache | ( | void *& | PImpl | ) | [static] |
getCache - This lazily constructs the LazyValueInfoCache.
Definition at line 1006 of file LazyValueInfo.cpp.
Referenced by llvm::LazyValueInfo::eraseBlock(), llvm::LazyValueInfo::getConstant(), llvm::LazyValueInfo::getConstantOnEdge(), llvm::LazyValueInfo::getPredicateOnEdge(), llvm::LazyValueInfo::releaseMemory(), llvm::LazyValueInfo::runOnFunction(), and llvm::LazyValueInfo::threadEdge().
| static bool getEdgeValueLocal | ( | Value * | Val, |
| BasicBlock * | BBFrom, | ||
| BasicBlock * | BBTo, | ||
| LVILatticeVal & | Result | ||
| ) | [static] |
Compute the value of Val on the edge BBFrom -> BBTo. Returns false if Val is not constrained on the edge.
Definition at line 779 of file LazyValueInfo.cpp.
References llvm::ConstantRange::difference(), llvm::dyn_cast(), llvm::ConstantInt::get(), llvm::Value::getContext(), llvm::Type::getInt1Ty(), llvm::Type::getIntegerBitWidth(), llvm::User::getOperand(), llvm::CmpInst::getPredicate(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), llvm::ConstantInt::getValue(), llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_ULT, llvm::ConstantRange::inverse(), llvm::ICmpInst::isEquality(), llvm::PatternMatch::m_Add(), llvm::PatternMatch::m_ConstantInt(), llvm::PatternMatch::m_Specific(), llvm::ConstantRange::makeICmpRegion(), llvm::PatternMatch::match(), llvm::ConstantRange::subtract(), and llvm::ConstantRange::unionWith().
| INITIALIZE_PASS_BEGIN | ( | LazyValueInfo | , |
| "lazy-value-info" | , | ||
| "Lazy Value Information Analysis" | , | ||
| false | , | ||
| true | |||
| ) |
| static bool InstructionDereferencesPointer | ( | Instruction * | I, |
| Value * | Ptr | ||
| ) | [static] |
Definition at line 557 of file LazyValueInfo.cpp.
References llvm::dyn_cast(), llvm::GetUnderlyingObject(), llvm::ConstantInt::isZero(), and llvm::A64CC::MI.
| lazy value Lazy Value Information Analysis |
Definition at line 41 of file LazyValueInfo.cpp.
Definition at line 41 of file LazyValueInfo.cpp.
| lazy value info |
Definition at line 41 of file LazyValueInfo.cpp.
Referenced by llvm::MCWin64EHUnwindEmitter::Emit(), and llvm::CCState::getInRegsParamInfo().