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 | |
llvm | |
List of target independent CodeGen pass IDs. | |
Macros | |
#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. More... | |
static LazyValueInfoCache & | getCache (void *&PImpl) |
getCache - This lazily constructs the LazyValueInfoCache. More... | |
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 |
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 |
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 |
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.
lazy value Lazy Value Information false |
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().