Add getPotentialPassManagerType(). No functionality change, yet.
[oota-llvm.git] / include / llvm / Analysis / LoadValueNumbering.h
1 //===- llvm/Analysis/LoadValueNumbering.h - Value # Load Insts --*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file was developed by the LLVM research group and is distributed under
6 // the University of Illinois Open Source License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This file defines a value numbering pass that value #'s load instructions.
11 // To do this, it finds lexically identical load instructions, and uses alias
12 // analysis to determine which loads are guaranteed to produce the same value.
13 //
14 // This pass builds off of another value numbering pass to implement value
15 // numbering for non-load instructions.  It uses Alias Analysis so that it can
16 // disambiguate the load instructions.  The more powerful these base analyses
17 // are, the more powerful the resultant analysis will be.
18 //
19 //===----------------------------------------------------------------------===//
20
21 #ifndef LLVM_ANALYSIS_LOAD_VALUE_NUMBERING_H
22 #define LLVM_ANALYSIS_LOAD_VALUE_NUMBERING_H
23
24 namespace llvm {
25
26 class FunctionPass;
27
28 /// createLoadValueNumberingPass - Create and return a new pass that implements
29 /// the ValueNumbering interface.
30 ///
31 FunctionPass *createLoadValueNumberingPass();
32
33 } // End llvm namespace
34
35 #endif