diff options
author | Hans Wennborg <hans@hanshq.net> | 2014-10-21 23:49:52 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2014-10-21 23:49:52 +0000 |
commit | 0b39fc0d16013404f86c9a026ff5535aac18c057 (patch) | |
tree | bec050763f788c8f8d96065dedace070a1e4cca5 /llvm/lib/Transforms | |
parent | 9133f8c76d27c350bfc625319558f2f9cd2f8c03 (diff) | |
download | bcm5719-llvm-0b39fc0d16013404f86c9a026ff5535aac18c057.tar.gz bcm5719-llvm-0b39fc0d16013404f86c9a026ff5535aac18c057.zip |
Revert "Teach the load analysis to allow finding available values which require" (r220277)
This seems to have caused PR21330.
llvm-svn: 220349
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r-- | llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp | 3 | ||||
-rw-r--r-- | llvm/lib/Transforms/Scalar/JumpThreading.cpp | 8 |
2 files changed, 5 insertions, 6 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp b/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp index c0df914cb66..f3ac44cbd6b 100644 --- a/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp +++ b/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp @@ -418,8 +418,7 @@ Instruction *InstCombiner::visitLoadInst(LoadInst &LI) { BasicBlock::iterator BBI = &LI; if (Value *AvailableVal = FindAvailableLoadedValue(Op, LI.getParent(), BBI,6)) return ReplaceInstUsesWith( - LI, Builder->CreateBitOrPointerCast(AvailableVal, LI.getType(), - LI.getName() + ".cast")); + LI, Builder->CreateBitCast(AvailableVal, LI.getType())); // load(gep null, ...) -> unreachable if (GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(Op)) { diff --git a/llvm/lib/Transforms/Scalar/JumpThreading.cpp b/llvm/lib/Transforms/Scalar/JumpThreading.cpp index c37a4c91c66..25a8b0cdbd3 100644 --- a/llvm/lib/Transforms/Scalar/JumpThreading.cpp +++ b/llvm/lib/Transforms/Scalar/JumpThreading.cpp @@ -902,8 +902,8 @@ bool JumpThreading::SimplifyPartiallyRedundantLoad(LoadInst *LI) { // only happen in dead loops. if (AvailableVal == LI) AvailableVal = UndefValue::get(LI->getType()); if (AvailableVal->getType() != LI->getType()) - AvailableVal = - CastInst::CreateBitOrPointerCast(AvailableVal, LI->getType(), "", LI); + AvailableVal = CastInst::Create(CastInst::BitCast, AvailableVal, + LI->getType(), "", LI); LI->replaceAllUsesWith(AvailableVal); LI->eraseFromParent(); return true; @@ -1040,8 +1040,8 @@ bool JumpThreading::SimplifyPartiallyRedundantLoad(LoadInst *LI) { // predecessor use the same bitcast. Value *&PredV = I->second; if (PredV->getType() != LI->getType()) - PredV = CastInst::CreateBitOrPointerCast(PredV, LI->getType(), "", - P->getTerminator()); + PredV = CastInst::Create(CastInst::BitCast, PredV, LI->getType(), "", + P->getTerminator()); PN->addIncoming(PredV, I->first); } |