diff options
author | Duncan Sands <baldrick@free.fr> | 2009-01-28 11:33:59 +0000 |
---|---|---|
committer | Duncan Sands <baldrick@free.fr> | 2009-01-28 11:33:59 +0000 |
commit | e02f724880ddb7ffe296cda3ffb9822761a13ce7 (patch) | |
tree | 3d03ec99b13ebfb236ed5ac40fe31596731fc3be /include | |
parent | 1632782fe9a845e545f0ebd05fb4dc304adb5bd2 (diff) | |
download | external_llvm-e02f724880ddb7ffe296cda3ffb9822761a13ce7.tar.gz external_llvm-e02f724880ddb7ffe296cda3ffb9822761a13ce7.tar.bz2 external_llvm-e02f724880ddb7ffe296cda3ffb9822761a13ce7.zip |
Fix PR3415 (infinite loop in EscapeAnalysis) by
deleting the escape analysis pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63197 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Analysis/EscapeAnalysis.h | 55 | ||||
-rw-r--r-- | include/llvm/LinkAllPasses.h | 2 |
2 files changed, 0 insertions, 57 deletions
diff --git a/include/llvm/Analysis/EscapeAnalysis.h b/include/llvm/Analysis/EscapeAnalysis.h deleted file mode 100644 index 3f4da25310..0000000000 --- a/include/llvm/Analysis/EscapeAnalysis.h +++ /dev/null @@ -1,55 +0,0 @@ -//===------------- EscapeAnalysis.h - Pointer escape analysis -------------===// -// -// 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 the pointer escape analysis. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_ANALYSIS_ESCAPEANALYSIS_H -#define LLVM_ANALYSIS_ESCAPEANALYSIS_H - -#include "llvm/Pass.h" -#include <set> - -namespace llvm { - -class Instruction; -class Value; - -/// EscapeAnalysis - This class determines whether an allocation (a MallocInst -/// or an AllocaInst) can escape from the current function. It performs some -/// precomputation, with the rest of the work happening on-demand. -class EscapeAnalysis : public FunctionPass { -private: - std::set<Instruction*> EscapePoints; - -public: - static char ID; // Class identification, replacement for typeinfo - - EscapeAnalysis() : FunctionPass(intptr_t(&ID)) {} - - bool runOnFunction(Function &F); - - void releaseMemory() { - EscapePoints.clear(); - } - - void getAnalysisUsage(AnalysisUsage &AU) const; - - //===--------------------------------------------------------------------- - // Client API - - /// escapes - returns true if the value, which must have a pointer type, - /// can escape. - bool escapes(Value* A); -}; - -} // end llvm namespace - -#endif diff --git a/include/llvm/LinkAllPasses.h b/include/llvm/LinkAllPasses.h index 4113b16dff..18f72ac457 100644 --- a/include/llvm/LinkAllPasses.h +++ b/include/llvm/LinkAllPasses.h @@ -16,7 +16,6 @@ #define LLVM_LINKALLPASSES_H #include "llvm/Analysis/AliasSetTracker.h" -#include "llvm/Analysis/EscapeAnalysis.h" #include "llvm/Analysis/FindUsedTypes.h" #include "llvm/Analysis/IntervalPartition.h" #include "llvm/Analysis/LoopVR.h" @@ -132,7 +131,6 @@ namespace { (void)new llvm::FindUsedTypes(); (void)new llvm::ScalarEvolution(); (void)new llvm::LoopVR(); - (void)new llvm::EscapeAnalysis(); ((llvm::Function*)0)->viewCFGOnly(); llvm::AliasSetTracker X(*(llvm::AliasAnalysis*)0); X.add((llvm::Value*)0, 0); // for -print-alias-sets |