summaryrefslogtreecommitdiff
path: root/unittests/Transforms
diff options
context:
space:
mode:
authorIlya Biryukov <ibiryukov@google.com>2018-04-20 10:52:54 +0000
committerIlya Biryukov <ibiryukov@google.com>2018-04-20 10:52:54 +0000
commit8e71a936a4c03853038ba70233ec4f8b50bed6b2 (patch)
tree61dcb5f3fd6e3aa9428ad3eb4b8de29bead90e8c /unittests/Transforms
parentef1b331188ad9d9bf968c9b199f51857895b1975 (diff)
Revert r330403 and r330413.
Revert r330413: "[SSAUpdaterBulk] Use SmallVector instead of DenseMap for storing rewrites." Revert r330403 "Reapply "[PR16756] Use SSAUpdaterBulk in JumpThreading." one more time." r330403 commit seems to crash clang during our integrate while doing PGO build with the following stacktrace: #2 llvm::SSAUpdaterBulk::RewriteAllUses(llvm::DominatorTree*, llvm::SmallVectorImpl<llvm::PHINode*>*) #3 llvm::JumpThreadingPass::ThreadEdge(llvm::BasicBlock*, llvm::SmallVectorImpl<llvm::BasicBlock*> const&, llvm::BasicBlock*) #4 llvm::JumpThreadingPass::ProcessThreadableEdges(llvm::Value*, llvm::BasicBlock*, llvm::jumpthreading::ConstantPreference, llvm::Instruction*) #5 llvm::JumpThreadingPass::ProcessBlock(llvm::BasicBlock*) The crash happens while compiling 'lib/Analysis/CallGraph.cpp'. r3340413 is reverted due to conflicting changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@330416 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/Transforms')
-rw-r--r--unittests/Transforms/Utils/SSAUpdaterBulk.cpp40
1 files changed, 20 insertions, 20 deletions
diff --git a/unittests/Transforms/Utils/SSAUpdaterBulk.cpp b/unittests/Transforms/Utils/SSAUpdaterBulk.cpp
index 61cbcb7b1a7..6a8adf9ef37 100644
--- a/unittests/Transforms/Utils/SSAUpdaterBulk.cpp
+++ b/unittests/Transforms/Utils/SSAUpdaterBulk.cpp
@@ -73,17 +73,17 @@ TEST(SSAUpdaterBulk, SimpleMerge) {
// SSAUpdater should insert into %merge.
// Intentionally don't touch %8 to see that SSAUpdater only changes
// instructions that were explicitly specified.
- unsigned VarNum = Updater.AddVariable("a", I32Ty);
- Updater.AddAvailableValue(VarNum, TrueBB, AddOp1);
- Updater.AddAvailableValue(VarNum, FalseBB, AddOp2);
- Updater.AddUse(VarNum, &I1->getOperandUse(0));
- Updater.AddUse(VarNum, &I2->getOperandUse(0));
-
- VarNum = Updater.AddVariable("b", I32Ty);
- Updater.AddAvailableValue(VarNum, TrueBB, SubOp1);
- Updater.AddAvailableValue(VarNum, FalseBB, SubOp2);
- Updater.AddUse(VarNum, &I3->getOperandUse(0));
- Updater.AddUse(VarNum, &I3->getOperandUse(1));
+ Updater.AddVariable(0, "a", I32Ty);
+ Updater.AddAvailableValue(0, TrueBB, AddOp1);
+ Updater.AddAvailableValue(0, FalseBB, AddOp2);
+ Updater.AddUse(0, &I1->getOperandUse(0));
+ Updater.AddUse(0, &I2->getOperandUse(0));
+
+ Updater.AddVariable(1, "b", I32Ty);
+ Updater.AddAvailableValue(1, TrueBB, SubOp1);
+ Updater.AddAvailableValue(1, FalseBB, SubOp2);
+ Updater.AddUse(1, &I3->getOperandUse(0));
+ Updater.AddUse(1, &I3->getOperandUse(1));
DominatorTree DT(*F);
Updater.RewriteAllUses(&DT);
@@ -161,19 +161,19 @@ TEST(SSAUpdaterBulk, Irreducible) {
// No other rewrites should be made.
// Add use in %3.
- unsigned VarNum = Updater.AddVariable("c", I32Ty);
- Updater.AddAvailableValue(VarNum, IfBB, AddOp1);
- Updater.AddUse(VarNum, &I1->getOperandUse(0));
+ Updater.AddVariable(0, "c", I32Ty);
+ Updater.AddAvailableValue(0, IfBB, AddOp1);
+ Updater.AddUse(0, &I1->getOperandUse(0));
// Add use in %4.
- VarNum = Updater.AddVariable("b", I32Ty);
- Updater.AddAvailableValue(VarNum, LoopStartBB, AddOp2);
- Updater.AddUse(VarNum, &I2->getOperandUse(0));
+ Updater.AddVariable(1, "b", I32Ty);
+ Updater.AddAvailableValue(1, LoopStartBB, AddOp2);
+ Updater.AddUse(1, &I2->getOperandUse(0));
// Add use in the return instruction.
- VarNum = Updater.AddVariable("a", I32Ty);
- Updater.AddAvailableValue(VarNum, &F->getEntryBlock(), FirstArg);
- Updater.AddUse(VarNum, &Return->getOperandUse(0));
+ Updater.AddVariable(2, "a", I32Ty);
+ Updater.AddAvailableValue(2, &F->getEntryBlock(), FirstArg);
+ Updater.AddUse(2, &Return->getOperandUse(0));
// Save all inserted phis into a vector.
SmallVector<PHINode *, 8> Inserted;