From d7f672538a3a018851fe93a416c4917c3960c285 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 30 Aug 2002 20:27:48 +0000 Subject: Initial version of LoadValueNumbering interface git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3539 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Analysis/LoadValueNumbering.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 include/llvm/Analysis/LoadValueNumbering.h (limited to 'include/llvm/Analysis') diff --git a/include/llvm/Analysis/LoadValueNumbering.h b/include/llvm/Analysis/LoadValueNumbering.h new file mode 100644 index 0000000..cca4bea --- /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 -- cgit v1.1