diff options
author | Gabor Greif <ggreif@gmail.com> | 2010-07-12 14:14:03 +0000 |
---|---|---|
committer | Gabor Greif <ggreif@gmail.com> | 2010-07-12 14:14:03 +0000 |
commit | 88dd73b75e42c719f7daa65f7c74cb572ea68a9c (patch) | |
tree | 5e6dc6339fe970fed0d4b3b1abd7e64a20227c12 /llvm/lib/Transforms/IPO/IPConstantPropagation.cpp | |
parent | a75ed761a9a1f76a37d1caf120367a12022aa5a0 (diff) | |
download | bcm5719-llvm-88dd73b75e42c719f7daa65f7c74cb572ea68a9c.tar.gz bcm5719-llvm-88dd73b75e42c719f7daa65f7c74cb572ea68a9c.zip |
cache result of operator*
llvm-svn: 108145
Diffstat (limited to 'llvm/lib/Transforms/IPO/IPConstantPropagation.cpp')
-rw-r--r-- | llvm/lib/Transforms/IPO/IPConstantPropagation.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/Transforms/IPO/IPConstantPropagation.cpp b/llvm/lib/Transforms/IPO/IPConstantPropagation.cpp index df2456f9f2b..e4db235b1d1 100644 --- a/llvm/lib/Transforms/IPO/IPConstantPropagation.cpp +++ b/llvm/lib/Transforms/IPO/IPConstantPropagation.cpp @@ -85,15 +85,16 @@ bool IPCP::PropagateConstantsIntoArguments(Function &F) { unsigned NumNonconstant = 0; for (Value::use_iterator UI = F.use_begin(), E = F.use_end(); UI != E; ++UI) { + User *U = *UI; // Ignore blockaddress uses. - if (isa<BlockAddress>(*UI)) continue; + if (isa<BlockAddress>(U)) continue; // Used by a non-instruction, or not the callee of a function, do not // transform. - if (!isa<CallInst>(*UI) && !isa<InvokeInst>(*UI)) + if (!isa<CallInst>(U) && !isa<InvokeInst>(U)) return false; - CallSite CS = CallSite::get(cast<Instruction>(*UI)); + CallSite CS = CallSite::get(cast<Instruction>(U)); if (!CS.isCallee(UI)) return false; |