1 //===- llvm/Analysis/LoadValueNumbering.h - Value # Load Insts --*- C++ -*-===//
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.
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.
12 //===----------------------------------------------------------------------===//
14 #ifndef LLVM_ANALYSIS_LOAD_VALUE_NUMBERING_H
15 #define LLVM_ANALYSIS_LOAD_VALUE_NUMBERING_H
19 /// createLoadValueNumberingPass - Create and return a new pass that implements
20 /// the ValueNumbering interface.
22 Pass *createLoadValueNumberingPass();