[PATCH] D90688: [CaptureTracking] Avoid overly restrictive dominates check
Nikita Popov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 5 11:50:33 PST 2020
nikic added a comment.
In D90688#2376495 <https://reviews.llvm.org/D90688#2376495>, @anna wrote:
> In D90688#2376444 <https://reviews.llvm.org/D90688#2376444>, @nikic wrote:
>
>> This change causes a large compile-time regression on some benchmarks: https://llvm-compile-time-tracker.com/compare.php?from=79d16764dd29aeddb7e6400e6b2d89d31653886c&to=15694fd6ad955c6a16b446a6324364111a49ae8b&stat=instructions
>>
>> tramp3d-v4 is particularly badly affected, with a 25% instruction count regression in the ThinLTO configuration.
>
> Thanks for pointing that out. I was under the impression the path check is more expensive than the dominates check (and the dominates was done to prevent compile time increase) and our bailouts are also higher (32 basic blocks for the path check).
> It looks like this limitation of checking for dominates exists to avoid compile time regressions of this sort.
Right. It may be possible to salvage this though. One very simple thing to try would be to cache the reachability query. This should make it much cheaper if there are many uses in the same block.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D90688/new/
https://reviews.llvm.org/D90688
More information about the llvm-commits
mailing list