Fix problem where subpasses would invalidate all analyses outstanding
authorChris Lattner <sabre@nondot.org>
Tue, 30 Apr 2002 18:50:17 +0000 (18:50 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 30 Apr 2002 18:50:17 +0000 (18:50 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2418 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/PassManagerT.h

index c72af14ce2fb1e51e67d8351b41019778dd3039b..e61d994d9a339d61491e161c5c43045f04523b7e 100644 (file)
@@ -440,6 +440,10 @@ template<> struct PassManagerTraits<BasicBlock> : public BasicBlockPass {
   virtual bool doInitialization(Module *M);
   virtual bool runOnBasicBlock(BasicBlock *BB);
   virtual bool doFinalization(Module *M);
+
+  virtual void getAnalysisUsage(AnalysisUsage &AU) const {
+    AU.setPreservesAll();
+  }
 };
 
 
@@ -484,6 +488,10 @@ template<> struct PassManagerTraits<Function> : public FunctionPass {
   virtual bool doInitialization(Module *M);
   virtual bool runOnFunction(Function *F);
   virtual bool doFinalization(Module *M);
+
+  virtual void getAnalysisUsage(AnalysisUsage &AU) const {
+    AU.setPreservesAll();
+  }
 };