[PATCH] D109844: [DSE] Track earliest escape, use for loads in isReadClobber.
Reid Kleckner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 17 14:58:22 PDT 2021
rnk added a comment.
Thanks for putting this together!
In D109844#3006260 <https://reviews.llvm.org/D109844#3006260>, @fhahn wrote:
> Also, @rnk mentioned seeing plenty of stores not being removed in Chrome + auto-init in PR50220. Perhaps they could let us know the impact of the change + D109907 <https://reviews.llvm.org/D109907>. And this also fixes a regression compared to legacy DSE.
I probably won't be able to do any benchmarking, but if anyone is interested, you can probably run any benchmark set you like with `-fauto-var-init=pattern` before and after this patch and check how many extra stores are removed. I strongly suspect it will help on code patterns where initialization is separate from declaration:
struct Foo v;
...
v.x = 0;
...
escape(&v);
Even if this pattern isn't prevalent in common benchmark suites, I think it's pretty important to users of these security hardening flags.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D109844/new/
https://reviews.llvm.org/D109844
More information about the llvm-commits
mailing list