Expand the pass to unify all of the unwind blocks as well
[oota-llvm.git] / include / llvm / Analysis / LoadValueNumbering.h
1 //===- llvm/Analysis/LoadValueNumbering.h - Value # Load Insts --*- C++ -*-===//
2 //
3 // This file defines a value numbering pass that value #'s load instructions.
4 // To do this, it finds lexically identical load instructions, and uses alias
5 // analysis to determine which loads are guaranteed to produce the same value.
6 //
7 // This pass builds off of another value numbering pass to implement value
8 // numbering for non-load instructions.  It uses Alias Analysis so that it can
9 // disambiguate the load instructions.  The more powerful these base analyses
10 // are, the more powerful the resultant analysis will be.
11 //
12 //===----------------------------------------------------------------------===//
13
14 #ifndef LLVM_ANALYSIS_LOAD_VALUE_NUMBERING_H
15 #define LLVM_ANALYSIS_LOAD_VALUE_NUMBERING_H
16
17 class Pass;
18
19 /// createLoadValueNumberingPass - Create and return a new pass that implements
20 /// the ValueNumbering interface.
21 ///
22 Pass *createLoadValueNumberingPass();
23
24 #endif