LLVM  3.7.0
Namespaces | Macros | Functions | Variables
LazyValueInfo.cpp File Reference
#include "llvm/Analysis/LazyValueInfo.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Analysis/AssumptionCache.h"
#include "llvm/Analysis/ConstantFolding.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/IR/CFG.h"
#include "llvm/IR/ConstantRange.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/PatternMatch.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include <map>
#include <stack>
Include dependency graph for LazyValueInfo.cpp:

Go to the source code of this file.

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

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
 
FunctionPassllvm::createLazyValueInfoPass ()
 createLazyValueInfoPass - This creates an instance of the LazyValueInfo pass. More...
 
raw_ostreamllvm::operator<< (raw_ostream &OS, const LVILatticeVal &Val) LLVM_ATTRIBUTE_USED
 
static bool InstructionDereferencesPointer (Instruction *I, Value *Ptr)
 
static bool getValueFromFromCondition (Value *Val, ICmpInst *ICI, LVILatticeVal &Result, bool isTrueDest=true)
 
static bool getEdgeValueLocal (Value *Val, BasicBlock *BBFrom, BasicBlock *BBTo, LVILatticeVal &Result)
 Compute the value of Val on the edge BBFrom -> BBTo. More...
 
static LazyValueInfoCache & getCache (void *&PImpl, AssumptionCache *AC, const DataLayout *DL, DominatorTree *DT=nullptr)
 This lazily constructs the LazyValueInfoCache. More...
 
static LazyValueInfo::Tristate getPredicateResult (unsigned Pred, Constant *C, LVILatticeVal &Result, const DataLayout &DL, TargetLibraryInfo *TLI)
 

Variables

lazy value info
 
lazy value Lazy Value Information Analysis
 
lazy value Lazy Value Information false
 

Macro Definition Documentation

#define DEBUG_TYPE   "lazy-value-info"

Definition at line 38 of file LazyValueInfo.cpp.

Function Documentation

static LazyValueInfoCache& getCache ( void *&  PImpl,
AssumptionCache AC,
const DataLayout DL,
DominatorTree DT = nullptr 
)
static
static bool getEdgeValueLocal ( Value Val,
BasicBlock BBFrom,
BasicBlock BBTo,
LVILatticeVal &  Result 
)
static
static LazyValueInfo::Tristate getPredicateResult ( unsigned  Pred,
Constant C,
LVILatticeVal &  Result,
const DataLayout DL,
TargetLibraryInfo TLI 
)
static
bool getValueFromFromCondition ( Value Val,
ICmpInst ICI,
LVILatticeVal &  Result,
bool  isTrueDest = true 
)
static
INITIALIZE_PASS_BEGIN ( LazyValueInfo  ,
"lazy-value-info ,
"Lazy Value Information Analysis ,
false  ,
true   
)
static bool InstructionDereferencesPointer ( Instruction I,
Value Ptr 
)
static

Variable Documentation

lazy value Lazy Value Information Analysis

Definition at line 45 of file LazyValueInfo.cpp.

lazy value Lazy Value Information false

Definition at line 45 of file LazyValueInfo.cpp.

lazy value info