[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