mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-21 06:30:16 +00:00
[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
This commit is contained in:
parent
82550fed5c
commit
36cb3ce66a
@ -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<CallSite> 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<BasicBlock *> 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<CallSite> RuntimeCalls;
|
||||
InsertSafepointPoll(DT, NewBB->getTerminator(), RuntimeCalls);
|
||||
NumBackedgeSafepoints++;
|
||||
|
Loading…
x
Reference in New Issue
Block a user