LLVM API Documentation

ValueNumbering.cpp File Reference

#include "llvm/Analysis/Passes.h"
#include "llvm/Analysis/ValueNumbering.h"
#include "llvm/Support/InstVisitor.h"
#include "llvm/BasicBlock.h"
#include "llvm/Instructions.h"
#include "llvm/Pass.h"
#include "llvm/Type.h"

Include dependency graph for ValueNumbering.cpp:

Go to the source code of this file.

Functions

ImmutablePassllvm::createBasicVNPass ()
static bool isIdenticalBinaryInst (const Instruction &I1, const Instruction *I2)
static bool IdenticalComplexInst (const Instruction *I1, const Instruction *I2)
static bool isIdenticalSelectInst (const SelectInst &I1, const SelectInst *I2)
void llvm::BasicValueNumberingStub ()

Variables

static RegisterAnalysisGroup<
ValueNumbering
X ("Value Numbering")
RegisterOpt< BasicVN > X ("basicvn","Basic Value Numbering (default GVN impl)")
RegisterAnalysisGroup< ValueNumbering,
BasicVN, true > 
Y
std::vector< Value * > & RetVals


Function Documentation

static bool IdenticalComplexInst ( const Instruction I1,
const Instruction I2 
) [inline, static]

Definition at line 168 of file ValueNumbering.cpp.

References llvm::User::getNumOperands(), llvm::Instruction::getOpcode(), llvm::BasicBlock::getParent(), llvm::Instruction::getParent(), llvm::Value::getType(), llvm::User::op_begin(), and llvm::User::op_end().

static bool isIdenticalBinaryInst ( const Instruction I1,
const Instruction I2 
) [inline, static]

Definition at line 127 of file ValueNumbering.cpp.

References llvm::Instruction::getOpcode(), llvm::User::getOperand(), llvm::BasicBlock::getParent(), llvm::Instruction::getParent(), and llvm::Instruction::isCommutative().

static bool isIdenticalSelectInst ( const SelectInst I1,
const SelectInst I2 
) [inline, static]

Definition at line 205 of file ValueNumbering.cpp.

References llvm::SelectInst::getOperand(), llvm::BasicBlock::getParent(), and llvm::Instruction::getParent().


Variable Documentation

std::vector<Value*>& RetVals

Definition at line 73 of file ValueNumbering.cpp.

Referenced by llvm::TargetLowering::LowerArguments(), llvm::PPCTargetLowering::LowerCallTo(), llvm::IA64TargetLowering::LowerCallTo(), and llvm::AlphaTargetLowering::LowerCallTo().

RegisterOpt<BasicVN> X("basicvn","Basic Value Numbering (default GVN impl)") [static]

RegisterAnalysisGroup<ValueNumbering> X("Value Numbering") [static]

RegisterAnalysisGroup<ValueNumbering, BasicVN, true> Y [static]

Definition at line 67 of file ValueNumbering.cpp.