From 12b78db6855cfe9a338d5b6e762d1e10cadb6967 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 23 Oct 2003 18:49:23 +0000 Subject: [PATCH] We might as well strip off any CPRs before propagation llvm-svn: 9437 --- llvm/lib/Transforms/IPO/IPConstantPropagation.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/llvm/lib/Transforms/IPO/IPConstantPropagation.cpp b/llvm/lib/Transforms/IPO/IPConstantPropagation.cpp index dc8698e1622d..bb21f11ffc3e 100644 --- a/llvm/lib/Transforms/IPO/IPConstantPropagation.cpp +++ b/llvm/lib/Transforms/IPO/IPConstantPropagation.cpp @@ -103,7 +103,10 @@ bool IPCP::processFunction(Function &F) { // Do we have a constant argument!? if (!ArgumentConstants[i].second) { assert(ArgumentConstants[i].first && "Unknown constant value!"); - AI->replaceAllUsesWith(ArgumentConstants[i].first); + Value *V = ArgumentConstants[i].first; + if (ConstantPointerRef *CPR = dyn_cast(V)) + V = CPR->getValue(); + AI->replaceAllUsesWith(V); ++NumArgumentsProped; } return true;