[PATCH] D68006: DSE miscompile when store is clobbered across loop iterations

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 12 14:05:52 PST 2020


efriedma added a comment.

This is specifically a hole in the calloc() handling, right?  This case can't come up in regular load->store forwarding: the address of the load dominates the load, so the address dominates all the operations between the load and the store, so alias() does the right thing.

We could try to avoid the backedge checking for load->store forwarding. And we could try to be more aggressive if the address is some invariant offset into the calloc.  Maybe not that likely to matter?  What sort of impact does this have on how frequently the transforms triggers?


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

https://reviews.llvm.org/D68006





More information about the llvm-commits mailing list