[PATCH] D60144: [SCEV] Add option to forget everything in SCEV.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 4 13:28:32 PDT 2019


fhahn added a comment.

In D60144#1455099 <https://reviews.llvm.org/D60144#1455099>, @asbirlea wrote:

> Here are the times I got for compiling the aggregated bitcode files for clang and a few others. Before is ToT, After is with `-forget-scev-loop-unroll=true`
>  File    Before (s)   After (s)
>  clang-9.bc   7267.91   6639.14
>  llvm-as.bc   194.12   194.12
>  llvm-dis.bc   62.50   62.50
>  opt.bc   1855.85   1857.53
>
> The current test I have is not publishable, I'm still trying to get one.
>  In the mean time, the above results might motivate having this enabled by default.


Thank you very much for looking into it!

IIUC forgetTopmostLoop currently can be quite expensive for loops with lots of subloops/deeply-nested loops, where it has to visit all sub loops and selectively erase a bunch of stuff. And if we manage to unroll a large number of such loops, we have to invalidate most things anyways. Could that be the case in your test case?


Repository:
  rL LLVM

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

https://reviews.llvm.org/D60144





More information about the llvm-commits mailing list