LLVM API Documentation
#include "llvm/Analysis/LoadValueNumbering.h"
#include "llvm/Constants.h"
#include "llvm/Function.h"
#include "llvm/Instructions.h"
#include "llvm/Pass.h"
#include "llvm/Type.h"
#include "llvm/Analysis/ValueNumbering.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/Analysis/Dominators.h"
#include "llvm/Support/CFG.h"
#include "llvm/Target/TargetData.h"
#include <set>
#include <algorithm>
Include dependency graph for LoadValueNumbering.cpp:
Go to the source code of this file.
Functions | |
FunctionPass * | llvm::createLoadValueNumberingPass () |
static bool | isPathTransparentTo (BasicBlock *CurBlock, BasicBlock *Dom, Value *Ptr, unsigned Size, AliasAnalysis &AA, std::set< BasicBlock * > &Visited, std::map< BasicBlock *, bool > &TransparentBlocks) |
Variables | |
RegisterOpt< LoadVN > | X ("load-vn","Load Value Numbering") |
RegisterAnalysisGroup< ValueNumbering, LoadVN > | Y |
static bool isPathTransparentTo | ( | BasicBlock * | CurBlock, | |
BasicBlock * | Dom, | |||
Value * | Ptr, | |||
unsigned | Size, | |||
AliasAnalysis & | AA, | |||
std::set< BasicBlock * > & | Visited, | |||
std::map< BasicBlock *, bool > & | TransparentBlocks | |||
) | [static] |
Definition at line 104 of file LoadValueNumbering.cpp.
References AA, llvm::AliasAnalysis::canBasicBlockModify(), CurBlock, E, PI, llvm::pred_begin(), and llvm::pred_end().
RegisterOpt<LoadVN> X("load-vn","Load Value Numbering") [static] |
RegisterAnalysisGroup<ValueNumbering, LoadVN> Y [static] |
Definition at line 87 of file LoadValueNumbering.cpp.