[PATCH] D89381: [SCEV] Re-enable "Use nw flag and symbolic iteration count to sharpen ranges of AddRecs", attempt 2
Nikita Popov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 20 12:02:46 PDT 2020
nikic added a comment.
Unfortunately the compile-time issue still exists and is not materially affected by the switch to isKnownPredicateViaConstantRanges(). I've looked at callgrind profiles for partSalignmm.c, which has a 5% regression with this change, and found that the additional 166M instructions are spread roughly as follows:
- 72M: evaluateAtIteration
- 35M: isKnownPredicate for the TODO check
- 32M: Various SCEV expression construction for the TODO check
- 9M: computeMaxBackedgeTakenCount
Resolving the TODO would be a significant optimization, but unfortunately the largest part of the cost is inside evaluateAtIteration(), which seems like a more fundamental part of this calculation.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D89381/new/
https://reviews.llvm.org/D89381
More information about the llvm-commits
mailing list