This is an archive of the discontinued LLVM Phabricator instance.

[LAA] LLE 2/6: Fix a NoDep case that should be a Forward dependence
ClosedPublic

Authored by anemet on Sep 29 2015, 10:28 AM.

Details

Summary

When the dependence distance in zero then we have a loop-independent
dependence from the earlier to the later access.

No current client of LAA uses forward dependences so other than
potentially hitting the MaxDependences threshold earlier, this change
shouldn't affect anything right now.

This and the previous patch were tested together for compile-time
regression. None found in LNT/SPEC.

Diff Detail

Repository
rL LLVM

Event Timeline

anemet updated this revision to Diff 35999.Sep 29 2015, 10:28 AM
anemet retitled this revision from to [LAA] LLE 2/6: Fix a NoDep case that should be a Forward dependence.
anemet updated this object.
anemet added a reviewer: hfinkel.
anemet added a subscriber: llvm-commits.

IIUC, this new dependency analysis won't trigger anything in the compiler to change its behaviour, so even if the analysis is not complete yet (and need an extra dep to trigger the memory check), it still shouldn't break any existing code. Is that correct?

I wonder if this could be squashed into some future commit (3rd~6th) to avoid the weird comments on the test case, even if temporary. But it's not a big deal, since no one will be crazy enough to pick a stable master where the head is "[2/6]" of some patch. :)

As long as it doesn't break any bot (which I doubt it will), this should be fine, too.

IIUC, this new dependency analysis won't trigger anything in the compiler to change its behaviour, so even if the analysis is not complete yet (and need an extra dep to trigger the memory check), it still shouldn't break any existing code. Is that correct?

Correct.

I wonder if this could be squashed into some future commit (3rd~6th) to avoid the weird comments on the test case, even if temporary. But it's not a big deal, since no one will be crazy enough to pick a stable master where the head is "[2/6]" of some patch. :)

Not really. Unfortunately it's not trivial to fix this (it probably will be another patchset with some compile time measurement) and it's not required for LLE (as I explain in that patch) so my preference would be to keep outside this set and then get back to it ASAP.

As long as it doesn't break any bot (which I doubt it will), this should be fine, too.

Thanks, Renato!

hfinkel accepted this revision.Nov 2 2015, 9:38 AM
hfinkel edited edge metadata.

LGTM (I agree this makes as an intermediate fix, and documenting the remainder of the brokenness)

This revision is now accepted and ready to land.Nov 2 2015, 9:38 AM
This revision was automatically updated to reflect the committed changes.