summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Transforms/Scalar')
-rw-r--r--llvm/lib/Transforms/Scalar/CondPropagate.cpp11
-rw-r--r--llvm/lib/Transforms/Scalar/InstructionCombining.cpp2
-rw-r--r--llvm/lib/Transforms/Scalar/LoopSimplify.cpp5
3 files changed, 3 insertions, 15 deletions
diff --git a/llvm/lib/Transforms/Scalar/CondPropagate.cpp b/llvm/lib/Transforms/Scalar/CondPropagate.cpp
index d3ad5778bb4..101acef6dcb 100644
--- a/llvm/lib/Transforms/Scalar/CondPropagate.cpp
+++ b/llvm/lib/Transforms/Scalar/CondPropagate.cpp
@@ -80,17 +80,6 @@ void CondProp::SimplifyBlock(BasicBlock *BB) {
SimplifyPredecessors(SI);
}
- // See if we can fold any PHI nodes in this block now.
- // FIXME: This would not be required if removePredecessor did this for us!!
- PHINode *PN;
- for (BasicBlock::iterator I = BB->begin(); (PN = dyn_cast<PHINode>(I++)); )
- if (Value *PNV = hasConstantValue(PN))
- if (!isa<Instruction>(PNV)) {
- PN->replaceAllUsesWith(PNV);
- PN->eraseFromParent();
- MadeChange = true;
- }
-
// If possible, simplify the terminator of this block.
if (ConstantFoldTerminator(BB))
MadeChange = true;
diff --git a/llvm/lib/Transforms/Scalar/InstructionCombining.cpp b/llvm/lib/Transforms/Scalar/InstructionCombining.cpp
index d644d279359..5767afc4099 100644
--- a/llvm/lib/Transforms/Scalar/InstructionCombining.cpp
+++ b/llvm/lib/Transforms/Scalar/InstructionCombining.cpp
@@ -4401,7 +4401,7 @@ static bool DeadPHICycle(PHINode *PN, std::set<PHINode*> &PotentiallyDeadPHIs) {
// PHINode simplification
//
Instruction *InstCombiner::visitPHINode(PHINode &PN) {
- if (Value *V = hasConstantValue(&PN)) {
+ if (Value *V = PN.hasConstantValue()) {
// If V is an instruction, we have to be certain that it dominates PN.
// However, because we don't have dom info, we can't do a perfect job.
if (Instruction *I = dyn_cast<Instruction>(V)) {
diff --git a/llvm/lib/Transforms/Scalar/LoopSimplify.cpp b/llvm/lib/Transforms/Scalar/LoopSimplify.cpp
index 3e4312681d1..5ddcc4163db 100644
--- a/llvm/lib/Transforms/Scalar/LoopSimplify.cpp
+++ b/llvm/lib/Transforms/Scalar/LoopSimplify.cpp
@@ -41,7 +41,6 @@
#include "llvm/Analysis/Dominators.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Support/CFG.h"
-#include "llvm/Transforms/Utils/Local.h"
#include "llvm/ADT/SetOperations.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/Statistic.h"
@@ -257,7 +256,7 @@ BasicBlock *LoopSimplify::SplitBlockPredecessors(BasicBlock *BB,
PN->addIncoming(InVal, NewBB);
// Can we eliminate this phi node now?
- if (Value *V = hasConstantValue(PN)) {
+ if (Value *V = PN->hasConstantValue()) {
if (!isa<Instruction>(V) ||
getAnalysis<DominatorSet>().dominates(cast<Instruction>(V), PN)) {
PN->replaceAllUsesWith(V);
@@ -443,7 +442,7 @@ static PHINode *FindPHIToPartitionLoops(Loop *L, DominatorSet &DS,
for (BasicBlock::iterator I = L->getHeader()->begin(); isa<PHINode>(I); ) {
PHINode *PN = cast<PHINode>(I);
++I;
- if (Value *V = hasConstantValue(PN))
+ if (Value *V = PN->hasConstantValue())
if (!isa<Instruction>(V) || DS.dominates(cast<Instruction>(V), PN)) {
// This is a degenerate PHI already, don't modify it!
PN->replaceAllUsesWith(V);
OpenPOWER on IntegriCloud