As a step towards getting rid of internal pass manager hack entirely, remove the need for loop simplify to run in the inner pass manager. The new code does produce slightly different loop structures, so this isn't technically NFC.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Transforms/Scalar/PlaceSafepoints.cpp | ||
---|---|---|
571 ↗ | (On Diff #25259) | std::unique only removes consecutive elements so I don't think it would work with an unsorted array. I think it is sufficient to just move this after the std::sort on PollLocations below. |
575 ↗ | (On Diff #25259) | LLVM naming conventions say: auto OrderByBBName = [](Instruction *A, Instruction *A) { |
576 ↗ | (On Diff #25259) | StringRef has an operator<. |
604 ↗ | (On Diff #25259) | Side comment, unrelated to this change: this nested loop uses i, the same induction variable as the outer loop which can be confusing. It might be clearer to change both these loops to be range for loops. |
616 ↗ | (On Diff #25259) | Side comment that has nothing to do with this change: SplitEdge optionally takes a DominatorTree as input -- if the reason for doing that is that SplitEdge updates the dom tree, then we can just pass in the DT to SplitEdge not recalculate it below. |