From: Chris Lattner Date: Fri, 30 Aug 2002 20:27:48 +0000 (+0000) Subject: Initial version of LoadValueNumbering interface X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=d7f672538a3a018851fe93a416c4917c3960c285;p=oota-llvm.git Initial version of LoadValueNumbering interface git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3539 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Analysis/LoadValueNumbering.h b/include/llvm/Analysis/LoadValueNumbering.h new file mode 100644 index 00000000000..cca4beab1aa --- /dev/null +++ b/include/llvm/Analysis/LoadValueNumbering.h @@ -0,0 +1,24 @@ +//===- llvm/Analysis/LoadValueNumbering.h - Value # Load Insts --*- C++ -*-===// +// +// 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 + +class Pass; + +/// createLoadValueNumberingPass - Create and return a new pass that implements +/// the ValueNumbering interface. +/// +Pass *createLoadValueNumberingPass(); + +#endif