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 isIdenticalTernaryInst (const Instruction &I1, const Instruction *I2)
static bool IdenticalComplexInst (const Instruction *I1, const Instruction *I2)

Variables

static RegisterAnalysisGroup<
ValueNumbering
X ("Value Numbering")
RegisterOpt< BasicVN > X ("basicvn","Basic Value Numbering (default GVN impl)")
RegisterAnalysisGroup< ValueNumbering,
BasicVN, true > 
Y


Function Documentation

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

Definition at line 190 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 131 of file ValueNumbering.cpp.

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

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

Definition at line 158 of file ValueNumbering.cpp.

References llvm::User::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::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.