diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Analysis/LoadValueNumbering.h | 35 | ||||
-rw-r--r-- | include/llvm/Analysis/Passes.h | 7 | ||||
-rw-r--r-- | include/llvm/Analysis/ValueNumbering.h | 75 | ||||
-rw-r--r-- | include/llvm/LinkAllPasses.h | 4 | ||||
-rw-r--r-- | include/llvm/Transforms/Scalar.h | 9 |
5 files changed, 0 insertions, 130 deletions
diff --git a/include/llvm/Analysis/LoadValueNumbering.h b/include/llvm/Analysis/LoadValueNumbering.h deleted file mode 100644 index 340a193e0a..0000000000 --- a/include/llvm/Analysis/LoadValueNumbering.h +++ /dev/null @@ -1,35 +0,0 @@ -//===- llvm/Analysis/LoadValueNumbering.h - Value # Load Insts --*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file defines a value numbering pass that value #'s load instructions. -// To do this, it finds lexically identical load instructions, and uses alias -// analysis to determine which loads are guaranteed to produce the same value. -// -// This pass builds off of another value numbering pass to implement value -// numbering for non-load instructions. It uses Alias Analysis so that it can -// disambiguate the load instructions. The more powerful these base analyses -// are, the more powerful the resultant analysis will be. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_ANALYSIS_LOAD_VALUE_NUMBERING_H -#define LLVM_ANALYSIS_LOAD_VALUE_NUMBERING_H - -namespace llvm { - -class FunctionPass; - -/// createLoadValueNumberingPass - Create and return a new pass that implements -/// the ValueNumbering interface. -/// -FunctionPass *createLoadValueNumberingPass(); - -} // End llvm namespace - -#endif diff --git a/include/llvm/Analysis/Passes.h b/include/llvm/Analysis/Passes.h index 7843aea2ae..7995fc8cdc 100644 --- a/include/llvm/Analysis/Passes.h +++ b/include/llvm/Analysis/Passes.h @@ -79,13 +79,6 @@ namespace llvm { //===--------------------------------------------------------------------===// // - // createBasicVNPass - This pass walks SSA def-use chains to trivially - // identify lexically identical expressions. - // - ImmutablePass *createBasicVNPass(); - - //===--------------------------------------------------------------------===// - // // createProfileLoaderPass - This pass loads information from a profile dump // file. // diff --git a/include/llvm/Analysis/ValueNumbering.h b/include/llvm/Analysis/ValueNumbering.h deleted file mode 100644 index 72452acda1..0000000000 --- a/include/llvm/Analysis/ValueNumbering.h +++ /dev/null @@ -1,75 +0,0 @@ -//===- llvm/Analysis/ValueNumbering.h - Value #'ing Interface ---*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file defines the abstract ValueNumbering interface, which is used as the -// common interface used by all clients of value numbering information, and -// implemented by all value numbering implementations. -// -// Implementations of this interface must implement the various virtual methods, -// which automatically provides functionality for the entire suite of client -// APIs. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_ANALYSIS_VALUE_NUMBERING_H -#define LLVM_ANALYSIS_VALUE_NUMBERING_H - -#include <vector> -#include "llvm/Pass.h" -#include "llvm/System/IncludeFile.h" - -namespace llvm { - -class Value; -class Instruction; - -struct ValueNumbering { - static char ID; // Class identification, replacement for typeinfo - virtual ~ValueNumbering(); // We want to be subclassed - - /// getEqualNumberNodes - Return nodes with the same value number as the - /// specified Value. This fills in the argument vector with any equal values. - /// - virtual void getEqualNumberNodes(Value *V1, - std::vector<Value*> &RetVals) const = 0; - - ///===-------------------------------------------------------------------===// - /// Interfaces to update value numbering analysis information as the client - /// changes the program. - /// - - /// deleteValue - This method should be called whenever an LLVM Value is - /// deleted from the program, for example when an instruction is found to be - /// redundant and is eliminated. - /// - virtual void deleteValue(Value *V) {} - - /// copyValue - This method should be used whenever a preexisting value in the - /// program is copied or cloned, introducing a new value. Note that analysis - /// implementations should tolerate clients that use this method to introduce - /// the same value multiple times: if the analysis already knows about a - /// value, it should ignore the request. - /// - virtual void copyValue(Value *From, Value *To) {} - - /// replaceWithNewValue - This method is the obvious combination of the two - /// above, and it provided as a helper to simplify client code. - /// - void replaceWithNewValue(Value *Old, Value *New) { - copyValue(Old, New); - deleteValue(Old); - } -}; - -} // End llvm namespace - -// Force any file including this header to get the implementation as well -FORCE_DEFINING_FILE_TO_BE_LINKED(BasicValueNumbering) - -#endif diff --git a/include/llvm/LinkAllPasses.h b/include/llvm/LinkAllPasses.h index 76a4a2f58d..d53e7bea50 100644 --- a/include/llvm/LinkAllPasses.h +++ b/include/llvm/LinkAllPasses.h @@ -18,7 +18,6 @@ #include "llvm/Analysis/AliasSetTracker.h" #include "llvm/Analysis/FindUsedTypes.h" #include "llvm/Analysis/IntervalPartition.h" -#include "llvm/Analysis/LoadValueNumbering.h" #include "llvm/Analysis/LoopVR.h" #include "llvm/Analysis/Passes.h" #include "llvm/Analysis/PostDominators.h" @@ -50,7 +49,6 @@ namespace { (void) llvm::createStructRetPromotionPass(); (void) llvm::createBasicAliasAnalysisPass(); (void) llvm::createLibCallAliasAnalysisPass(0); - (void) llvm::createBasicVNPass(); (void) llvm::createBlockPlacementPass(); (void) llvm::createBlockProfilerPass(); (void) llvm::createBreakCriticalEdgesPass(); @@ -65,7 +63,6 @@ namespace { (void) llvm::createEdgeProfilerPass(); (void) llvm::createFunctionInliningPass(); (void) llvm::createFunctionProfilerPass(); - (void) llvm::createGCSEPass(); (void) llvm::createGlobalDCEPass(); (void) llvm::createGlobalOptimizerPass(); (void) llvm::createGlobalsModRefPass(); @@ -77,7 +74,6 @@ namespace { (void) llvm::createInternalizePass(false); (void) llvm::createLCSSAPass(); (void) llvm::createLICMPass(); - (void) llvm::createLoadValueNumberingPass(); (void) llvm::createLoopExtractorPass(); (void) llvm::createLoopSimplifyPass(); (void) llvm::createLoopStrengthReducePass(); diff --git a/include/llvm/Transforms/Scalar.h b/include/llvm/Transforms/Scalar.h index d62cdc7a86..b4c3e7caf5 100644 --- a/include/llvm/Transforms/Scalar.h +++ b/include/llvm/Transforms/Scalar.h @@ -78,15 +78,6 @@ FunctionPass *createScalarReplAggregatesPass(signed Threshold = -1); //===----------------------------------------------------------------------===// // -// GCSE - This pass is designed to be a very quick global transformation that -// eliminates global common subexpressions from a function. It does this by -// examining the SSA value graph of the function, instead of doing slow -// bit-vector computations. -// -FunctionPass *createGCSEPass(); - -//===----------------------------------------------------------------------===// -// // InductionVariableSimplify - Transform induction variables in a program to all // use a single canonical induction variable per loop. // |