From 629a7f2cc0cf61334ccb704dfdee17f93b58ba40 Mon Sep 17 00:00:00 2001 From: Piotr Padlewski Date: Wed, 28 Dec 2016 20:36:08 +0000 Subject: [PATCH] [NewGVN] replace emplace_back with push_back emplace_back is not faster if it is equivalent to push_back. In this cases emplaced value had the same type that the one stored in container. It is ugly and it might be even slower (see Scott Meyers presentation about emplacement). llvm-svn: 290685 --- llvm/lib/Transforms/Scalar/NewGVN.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/llvm/lib/Transforms/Scalar/NewGVN.cpp b/llvm/lib/Transforms/Scalar/NewGVN.cpp index 54c0a4bc21d8..91a73330594a 100644 --- a/llvm/lib/Transforms/Scalar/NewGVN.cpp +++ b/llvm/lib/Transforms/Scalar/NewGVN.cpp @@ -277,7 +277,7 @@ private: // Congruence class handling. CongruenceClass *createCongruenceClass(Value *Leader, const Expression *E) { auto *result = new CongruenceClass(NextCongruenceNum++, Leader, E); - CongruenceClasses.emplace_back(result); + CongruenceClasses.push_back(result); return result; } @@ -589,7 +589,7 @@ const Expression *NewGVN::createExpression(Instruction *I, SmallVector C; for (Value *Arg : E->operands()) - C.emplace_back(cast(Arg)); + C.push_back(cast(Arg)); if (Value *V = ConstantFoldInstOperands(I, C, *DL, TLI)) if (const Expression *SimplifiedE = checkSimplificationResults(E, I, V)) @@ -1256,12 +1256,12 @@ std::pair NewGVN::assignDFSNumbers(BasicBlock *B, unsigned End = Start; if (MemoryAccess *MemPhi = MSSA->getMemoryAccess(B)) { InstrDFS[MemPhi] = End++; - DFSToInstr.emplace_back(MemPhi); + DFSToInstr.push_back(MemPhi); } for (auto &I : *B) { InstrDFS[&I] = End++; - DFSToInstr.emplace_back(&I); + DFSToInstr.push_back(&I); } // All of the range functions taken half-open ranges (open on the end side). @@ -1585,7 +1585,7 @@ void NewGVN::convertDenseToDFSOrdered(CongruenceClass::MemberSet &Dense, else llvm_unreachable("Should have been an instruction"); - DFSOrderedSet.emplace_back(VD); + DFSOrderedSet.push_back(VD); // Now add the users. for (auto &U : D->uses()) { @@ -1606,7 +1606,7 @@ void NewGVN::convertDenseToDFSOrdered(CongruenceClass::MemberSet &Dense, VD.DFSIn = DFSPair.first; VD.DFSOut = DFSPair.second; VD.U = &U; - DFSOrderedSet.emplace_back(VD); + DFSOrderedSet.push_back(VD); } } } @@ -1695,7 +1695,7 @@ public: std::pair dfs_back() const { return DFSStack.back(); } void push_back(Value *V, int DFSIn, int DFSOut) { - ValueStack.emplace_back(V); + ValueStack.push_back(V); DFSStack.emplace_back(DFSIn, DFSOut); } bool empty() const { return DFSStack.empty(); }