summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2010-11-16 17:41:24 +0000
committerDuncan Sands <baldrick@free.fr>2010-11-16 17:41:24 +0000
commit637049515fa392383a8ffbb79839d510986ab939 (patch)
tree8e5516f90b007bec3b4a1acb434f8483e81c5d8d /llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
parenta2307543854e0a825d8c1975b1e3db64d71ea949 (diff)
downloadbcm5719-llvm-637049515fa392383a8ffbb79839d510986ab939.tar.gz
bcm5719-llvm-637049515fa392383a8ffbb79839d510986ab939.zip
Have a few places that want to simplify phi nodes use SimplifyInstruction
rather than calling hasConstantValue. No intended functionality change. llvm-svn: 119352
Diffstat (limited to 'llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp')
-rw-r--r--llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp b/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
index f41852a903e..23514fd51be 100644
--- a/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
+++ b/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
@@ -60,6 +60,7 @@
#include "llvm/Pass.h"
#include "llvm/Analysis/CaptureTracking.h"
#include "llvm/Analysis/InlineCost.h"
+#include "llvm/Analysis/InstructionSimplify.h"
#include "llvm/Analysis/Loads.h"
#include "llvm/Support/CallSite.h"
#include "llvm/Support/CFG.h"
@@ -177,7 +178,7 @@ bool TailCallElim::runOnFunction(Function &F) {
PHINode *PN = ArgumentPHIs[i];
// If the PHI Node is a dynamic constant, replace it with the value it is.
- if (Value *PNV = PN->hasConstantValue()) {
+ if (Value *PNV = SimplifyInstruction(PN)) {
PN->replaceAllUsesWith(PNV);
PN->eraseFromParent();
}
OpenPOWER on IntegriCloud