diff options
author | Chris Lattner <sabre@nondot.org> | 2009-11-11 00:22:30 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-11-11 00:22:30 +0000 |
commit | 10f2d13d580da348ba9769864f02d0d5a862c1e0 (patch) | |
tree | d2bc48620d1f25d724e0b2b486975e622f4f93f1 /include | |
parent | b14b88a40ab12996c2982c4bc10fd35bb9a371d4 (diff) | |
download | external_llvm-10f2d13d580da348ba9769864f02d0d5a862c1e0.zip external_llvm-10f2d13d580da348ba9769864f02d0d5a862c1e0.tar.gz external_llvm-10f2d13d580da348ba9769864f02d0d5a862c1e0.tar.bz2 |
Stub out a new lazy value info pass, which will eventually
vend value constraint information to the optimizer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86767 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Analysis/LazyValueInfo.h | 43 | ||||
-rw-r--r-- | include/llvm/Analysis/Passes.h | 6 | ||||
-rw-r--r-- | include/llvm/LinkAllPasses.h | 1 |
3 files changed, 50 insertions, 0 deletions
diff --git a/include/llvm/Analysis/LazyValueInfo.h b/include/llvm/Analysis/LazyValueInfo.h new file mode 100644 index 0000000..29f8180 --- /dev/null +++ b/include/llvm/Analysis/LazyValueInfo.h @@ -0,0 +1,43 @@ +//===- LazyValueInfo.h - Value constraint analysis --------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file defines the interface for lazy computation of value constraint +// information. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_ANALYSIS_LIVEVALUES_H +#define LLVM_ANALYSIS_LIVEVALUES_H + +#include "llvm/Pass.h" + +namespace llvm { + +/// LazyValueInfo - This pass computes, caches, and vends lazy value constraint +/// information. +class LazyValueInfo : public FunctionPass { +public: + static char ID; + LazyValueInfo(); + + virtual void getAnalysisUsage(AnalysisUsage &AU) const { + AU.setPreservesAll(); + } + virtual void releaseMemory(); + + virtual bool runOnFunction(Function &F) { + // Fully lazy. + return false; + } +}; + +} // end namespace llvm + +#endif + diff --git a/include/llvm/Analysis/Passes.h b/include/llvm/Analysis/Passes.h index 66ab3ea..b222321 100644 --- a/include/llvm/Analysis/Passes.h +++ b/include/llvm/Analysis/Passes.h @@ -139,6 +139,12 @@ namespace llvm { // createLiveValuesPass - This creates an instance of the LiveValues pass. // FunctionPass *createLiveValuesPass(); + + //===--------------------------------------------------------------------===// + // + /// createLazyValueInfoPass - This creates an instance of the LazyValueInfo + /// pass. + FunctionPass *createLazyValueInfoPass(); //===--------------------------------------------------------------------===// // diff --git a/include/llvm/LinkAllPasses.h b/include/llvm/LinkAllPasses.h index bcb98c1..c88e954 100644 --- a/include/llvm/LinkAllPasses.h +++ b/include/llvm/LinkAllPasses.h @@ -82,6 +82,7 @@ namespace { (void) llvm::createInternalizePass(false); (void) llvm::createLCSSAPass(); (void) llvm::createLICMPass(); + (void) llvm::createLazyValueInfoPass(); (void) llvm::createLiveValuesPass(); (void) llvm::createLoopDependenceAnalysisPass(); (void) llvm::createLoopExtractorPass(); |