From 3e4e6974f2c1eccf031e3c89e114de455818ef94 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 30 Aug 2002 20:27:48 +0000 Subject: [PATCH] Initial version of LoadValueNumbering interface llvm-svn: 3539 --- .../llvm/Analysis/LoadValueNumbering.h | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 llvm/include/llvm/Analysis/LoadValueNumbering.h diff --git a/llvm/include/llvm/Analysis/LoadValueNumbering.h b/llvm/include/llvm/Analysis/LoadValueNumbering.h new file mode 100644 index 000000000000..cca4beab1aaf --- /dev/null +++ b/llvm/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