LLVM API Documentation

LoadValueNumbering.cpp File Reference

#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

FunctionPassllvm::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


Function Documentation

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().


Variable Documentation

RegisterOpt<LoadVN> X("load-vn","Load Value Numbering") [static]

RegisterAnalysisGroup<ValueNumbering, LoadVN> Y [static]

Definition at line 87 of file LoadValueNumbering.cpp.