[llvm] r217737 - In DwarfEHPrepare, after all passes are run, RewindFunction may be a dangling

Yaron Keren yaron.keren at gmail.com
Sun Sep 14 13:36:28 PDT 2014


Author: yrnkrn
Date: Sun Sep 14 15:36:28 2014
New Revision: 217737

URL: http://llvm.org/viewvc/llvm-project?rev=217737&view=rev
Log:
In DwarfEHPrepare, after all passes are run, RewindFunction may be a dangling
pointer to a dead function. To make sure it's valid, doFinalization nullptrs
RewindFunction just like the constructor and so it will be found on next run.


Modified:
    llvm/trunk/lib/CodeGen/DwarfEHPrepare.cpp

Modified: llvm/trunk/lib/CodeGen/DwarfEHPrepare.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/DwarfEHPrepare.cpp?rev=217737&r1=217736&r2=217737&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/DwarfEHPrepare.cpp (original)
+++ llvm/trunk/lib/CodeGen/DwarfEHPrepare.cpp Sun Sep 14 15:36:28 2014
@@ -51,6 +51,11 @@ namespace {
 
     bool runOnFunction(Function &Fn) override;
 
+    bool doFinalization(Module &M) override {
+      RewindFunction = nullptr;
+      return false;
+    }
+
     void getAnalysisUsage(AnalysisUsage &AU) const override { }
 
     const char *getPassName() const override {





More information about the llvm-commits mailing list