[llvm-commits] CVS: llvm/lib/Transforms/IPO/IPConstantPropagation.cpp
Chris Lattner
lattner at cs.uiuc.edu
Tue Nov 9 12:47:44 PST 2004
Changes in directory llvm/lib/Transforms/IPO:
IPConstantPropagation.cpp updated: 1.9 -> 1.10
---
Log message:
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!)
---
Diffs of the changes: (+3 -0)
Index: llvm/lib/Transforms/IPO/IPConstantPropagation.cpp
diff -u llvm/lib/Transforms/IPO/IPConstantPropagation.cpp:1.9 llvm/lib/Transforms/IPO/IPConstantPropagation.cpp:1.10
--- llvm/lib/Transforms/IPO/IPConstantPropagation.cpp:1.9 Sun Sep 19 23:43:34 2004
+++ llvm/lib/Transforms/IPO/IPConstantPropagation.cpp Tue Nov 9 14:47:30 2004
@@ -62,6 +62,9 @@
bool IPCP::processFunction(Function &F) {
if (F.aempty() || F.use_empty()) return false; // No arguments? Early exit.
+ // Delete any klingons.
+ F.removeDeadConstantUsers();
+
std::vector<std::pair<Constant*, bool> > ArgumentConstants;
ArgumentConstants.resize(F.asize());
More information about the llvm-commits
mailing list