From 36cb3ce66a44d7e28810a299f1b32eb6d610b3cd Mon Sep 17 00:00:00 2001 From: Philip Reames Date: Tue, 12 May 2015 23:39:23 +0000 Subject: [PATCH] [PlaceSafepoints] Followup to commit L237172 Responding to review feedback from http://reviews.llvm.org/D9585 1) Remove a variable shadow by converting the outer loop to a range for loop. We never really used the 'i' variable which was being shadowed. 2) Reduce DominatorTree recalculations by passing the DT to SplitEdge. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237212 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Scalar/PlaceSafepoints.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/lib/Transforms/Scalar/PlaceSafepoints.cpp b/lib/Transforms/Scalar/PlaceSafepoints.cpp index b5124b7adc4..ff3d67a6548 100644 --- a/lib/Transforms/Scalar/PlaceSafepoints.cpp +++ b/lib/Transforms/Scalar/PlaceSafepoints.cpp @@ -606,13 +606,11 @@ bool PlaceSafepoints::runOnFunction(Function &F) { PollLocations.end()); // Insert a poll at each point the analysis pass identified - for (size_t i = 0; i < PollLocations.size(); i++) { + // The poll location must be the terminator of a loop latch block. + for (TerminatorInst *Term : PollLocations) { // We are inserting a poll, the function is modified modified = true; - - // The poll location must be the terminator of a loop latch block. - TerminatorInst *Term = PollLocations[i]; - + std::vector ParsePoints; if (SplitBackedge) { // Split the backedge of the loop and insert the poll within that new @@ -639,11 +637,8 @@ bool PlaceSafepoints::runOnFunction(Function &F) { // date and use a more natural merged loop. SetVector SplitBackedges; for (BasicBlock *Header : Headers) { - BasicBlock *NewBB = SplitEdge(Term->getParent(), Header, nullptr); - SplitBackedges.insert(NewBB); - } - DT.recalculate(F); - for (BasicBlock *NewBB : SplitBackedges) { + BasicBlock *NewBB = SplitEdge(Term->getParent(), Header, &DT); + std::vector RuntimeCalls; InsertSafepointPoll(DT, NewBB->getTerminator(), RuntimeCalls); NumBackedgeSafepoints++; -- 2.11.0