From: Chris Lattner Date: Tue, 9 Nov 2004 20:47:30 +0000 (+0000) Subject: Do not let dead constant expressions hanging off of functions prevent IPCP. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=c890bfe1da56e3740d633559f3ea9bd33ee6d2f7;p=oota-llvm.git Do not let dead constant expressions hanging off of functions prevent IPCP. This allows to elimination of a bunch of global pool descriptor args from programs being pool allocated (and is also generally useful!) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17657 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/IPO/IPConstantPropagation.cpp b/lib/Transforms/IPO/IPConstantPropagation.cpp index 64d1df8354a..a1e09e6beff 100644 --- a/lib/Transforms/IPO/IPConstantPropagation.cpp +++ b/lib/Transforms/IPO/IPConstantPropagation.cpp @@ -62,6 +62,9 @@ bool IPCP::runOnModule(Module &M) { bool IPCP::processFunction(Function &F) { if (F.aempty() || F.use_empty()) return false; // No arguments? Early exit. + // Delete any klingons. + F.removeDeadConstantUsers(); + std::vector > ArgumentConstants; ArgumentConstants.resize(F.asize());