This is an archive of the discontinued LLVM Phabricator instance.

[LoopReroll] Reroll loops with unordered atomic memory accesses
ClosedPublic

Authored by sanjoy on Jul 14 2016, 3:17 PM.

Diff Detail

Event Timeline

sanjoy updated this revision to Diff 64052.Jul 14 2016, 3:17 PM
sanjoy retitled this revision from to [LoopReroll] Reroll loops with unordered atomic memory accesses.
sanjoy updated this object.
sanjoy added reviewers: hfinkel, jfb, reames.
sanjoy added a subscriber: llvm-commits.
majnemer added inline comments.
lib/Transforms/Scalar/LoopRerollPass.cpp
1316

(simple) seems out of date.

sanjoy updated this revision to Diff 64060.Jul 14 2016, 3:41 PM
  • fix comment
jfb edited edge metadata.Jul 18 2016, 5:05 PM

Does this work when there's a fence in the middle of the loop?

lgtm otherwise.

Added a negative test case with a fence seq_cst, it is handled via isSafeToSpeculativelyExecute.

This revision was automatically updated to reflect the committed changes.