[llvm-commits] [llvm-gcc-4.2] r99232 - /llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp

Chris Lattner sabre at nondot.org
Mon Mar 22 16:59:48 PDT 2010


Author: lattner
Date: Mon Mar 22 18:59:48 2010
New Revision: 99232

URL: http://llvm.org/viewvc/llvm-project?rev=99232&view=rev
Log:
"fix" PR6656: the passmanager needs to be destroyed before
the module is, in case immutable passes have asserting VH's
pointing into the IR.  Immutable passes apparently don't
get their doFinalization methods called, which seems like
a bug.

Modified:
    llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp

Modified: llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp?rev=99232&r1=99231&r2=99232&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp Mon Mar 22 18:59:48 2010
@@ -975,6 +975,9 @@
 // llvm_call_llvm_shutdown - Release LLVM global state.
 void llvm_call_llvm_shutdown(void) {
 #ifndef NDEBUG
+  delete PerModulePasses;
+  delete PerFunctionPasses;
+  delete CodeGenPasses;
   delete TheModule;
   llvm_shutdown();
 #endif





More information about the llvm-commits mailing list