[PATCH] D108848: [LoopDeletion] Separate logic in breakBackedgeIfNotTaken using symboic max trip count [nfc]

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 30 08:32:00 PDT 2021


reames added a comment.

In D108848#2970549 <https://reviews.llvm.org/D108848#2970549>, @nikic wrote:

> This looks reasonable to me, but doesn't seem to be NFC in practice. Your previous change in D108833 <https://reviews.llvm.org/D108833> resulted in a minor code size decrease in CMakeFiles/7zip-benchmark.dir/CPP/7zip/UI/Common/ArchiveCommandLine.cpp.o and CMakeFiles/7zip-benchmark.dir/CPP/7zip/UI/Console/Main.cpp.o at `O3`, and it looks like this change restores the previous size. I strongly suspect that this is just another SCEV invalidation artifact though.

My best guess here is that we have a case where the trip count logic is able to compute a constant maximum, but for which the exact symbolic trip count is not zero.   I am uncomfortable landing this with the regression noted because I don't know how broadly this triggers.

Any chance you're setup to easily capture the IR (even just the whole module) for one of these?  I'd prefer not to have to get the test-suite setup again, it tends to be pretty time consuming.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D108848/new/

https://reviews.llvm.org/D108848



More information about the llvm-commits mailing list