From: Devang Patel Date: Tue, 3 Mar 2009 21:31:02 +0000 (+0000) Subject: Recursively remove dead argument while removing llvm.dbg.declare intrinsic. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9adb01cbc3ef70e7fa8b4d6b1a1229c63082a496;p=oota-llvm.git Recursively remove dead argument while removing llvm.dbg.declare intrinsic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65971 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/IPO/StripSymbols.cpp b/lib/Transforms/IPO/StripSymbols.cpp index 3906b5111ec..fbb2075cb46 100644 --- a/lib/Transforms/IPO/StripSymbols.cpp +++ b/lib/Transforms/IPO/StripSymbols.cpp @@ -28,6 +28,7 @@ #include "llvm/Pass.h" #include "llvm/ValueSymbolTable.h" #include "llvm/TypeSymbolTable.h" +#include "llvm/Transforms/Utils/Local.h" #include "llvm/Support/Compiler.h" #include "llvm/ADT/SmallPtrSet.h" using namespace llvm; @@ -268,8 +269,8 @@ bool StripDebugInfo(Module &M) { if (Arg1->use_empty()) { if (Constant *C = dyn_cast(Arg1)) DeadConstants.push_back(C); - if (Instruction *I = dyn_cast(Arg1)) - I->eraseFromParent(); + else + RecursivelyDeleteTriviallyDeadInstructions(Arg1, NULL); } if (Arg2->use_empty()) if (Constant *C = dyn_cast(Arg2))