This is an archive of the discontinued LLVM Phabricator instance.

[DAG] Elide overlapping stores
ClosedPublic

Authored by niravd on Dec 7 2017, 10:05 AM.

Diff Detail

Repository
rL LLVM

Event Timeline

niravd created this revision.Dec 7 2017, 10:05 AM
niravd updated this revision to Diff 126365.Dec 11 2017, 7:41 AM
niravd retitled this revision from [DAG] Elide overlapping store to [DAG] Elide overlapping stores.

Rebase past updated nontemporal tests.

niravd edited the summary of this revision. (Show Details)Dec 11 2017, 8:19 AM
hfinkel accepted this revision.Dec 19 2017, 12:23 AM
hfinkel added a subscriber: hfinkel.

LGTM

This revision is now accepted and ready to land.Dec 19 2017, 12:23 AM
This revision was automatically updated to reflect the committed changes.

There was a comment by @nemanjai on the submitted revision in phab that I think got lost:

This has broken all the PowerPC buildbots. I'll pull this patch to get the bots back to green unless you have a fix available. The smallest failing benchmark from the test-suite is sieve.c.
This patch removes half of the pre-inc stores that are actually needed. I imagine that the DAGCombiner is getting rid of these stores before they become pre-inc stores since there's a check for unindexed stores as part of this patch, but I haven't spent the time to really understand what this patch does.
I'm attaching both the IR generated for sieve.c as well as a bugpoint-reduced version of it (the reduction was done by comparing the number of pre-inc stores emitted before the patch and after it).

Notably, all PPC bots were broken by this, and it has stayed in tree for a long time. we should get it reverted.