[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