LLVM API Documentation

GVNPRE.cpp File Reference

#include "llvm/Value.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Instructions.h"
#include "llvm/Function.h"
#include "llvm/DerivedTypes.h"
#include "llvm/Analysis/Dominators.h"
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Transforms/Utils/UnifyFunctionExitNodes.h"
#include "llvm/Support/CFG.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include <algorithm>
#include <deque>
#include <map>

Include dependency graph for GVNPRE.cpp:

Go to the source code of this file.

Namespaces

namespace  llvm

Classes

struct  llvm::DenseMapInfo< Expression >

Defines

#define DEBUG_TYPE   "gvnpre"

Functions

FunctionPass * llvm::createGVNPREPass ()
 STATISTIC (NumInsertedVals,"Number of values inserted")
 STATISTIC (NumInsertedPhis,"Number of PHI nodes inserted")
 STATISTIC (NumEliminated,"Number of redundant instructions eliminated")

Variables

static RegisterPass< GVNPRE > X ("gvnpre","Global Value Numbering/Partial Redundancy Elimination")


Define Documentation

#define DEBUG_TYPE   "gvnpre"

Definition at line 24 of file GVNPRE.cpp.


Function Documentation

STATISTIC ( NumEliminated  ,
"Number of redundant instructions eliminated"   
)

STATISTIC ( NumInsertedPhis  ,
"Number of PHI nodes inserted"   
)

STATISTIC ( NumInsertedVals  ,
"Number of values inserted"   
)


Variable Documentation

DenseMap<BasicBlock*, ValueNumberedSet> anticipatedIn

Definition at line 682 of file GVNPRE.cpp.

DenseMap<BasicBlock*, ValueNumberedSet> availableOut

Definition at line 681 of file GVNPRE.cpp.

Definition at line 613 of file GVNPRE.cpp.

Definition at line 679 of file GVNPRE.cpp.

DenseMap<Expression, uint32_t> expressionNumbering

Definition at line 137 of file GVNPRE.cpp.

uint32_t firstVN

Definition at line 72 of file GVNPRE.cpp.

DenseMap<BasicBlock*, ValueNumberedSet> generatedPhis

Definition at line 683 of file GVNPRE.cpp.

char ID [static]

Definition at line 674 of file GVNPRE.cpp.

uint32_t nextValueNumber

Definition at line 139 of file GVNPRE.cpp.

Definition at line 614 of file GVNPRE.cpp.

ExpressionOpcode opcode

Definition at line 70 of file GVNPRE.cpp.

uint32_t secondVN

Definition at line 73 of file GVNPRE.cpp.

uint32_t thirdVN

Definition at line 74 of file GVNPRE.cpp.

const Type* type

Definition at line 71 of file GVNPRE.cpp.

Definition at line 136 of file GVNPRE.cpp.

SmallVector<uint32_t, 4> varargs

Definition at line 75 of file GVNPRE.cpp.

ValueTable VN

Definition at line 678 of file GVNPRE.cpp.

RegisterPass<GVNPRE> X("gvnpre","Global Value Numbering/Partial Redundancy Elimination") [static]