aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2009-01-28 11:33:59 +0000
committerDuncan Sands <baldrick@free.fr>2009-01-28 11:33:59 +0000
commite02f724880ddb7ffe296cda3ffb9822761a13ce7 (patch)
tree3d03ec99b13ebfb236ed5ac40fe31596731fc3be /include
parent1632782fe9a845e545f0ebd05fb4dc304adb5bd2 (diff)
downloadexternal_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.h55
-rw-r--r--include/llvm/LinkAllPasses.h2
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