This is an archive of the discontinued LLVM Phabricator instance.

[PPC] Remove isBarrier from CFENCE8's definition.
ClosedPublic

Authored by timshen on Jun 16 2017, 6:24 PM.

Details

Summary

This is my misunderstanding on isBarrier. It's not for memory barriers,
but for other control flow purposes. lwsync doesn't have it either.

This fixes a simple crash with -verify-machineinstrs like below:

define void @Foo() {
entry:
  %tmp = load atomic i64, i64* undef acquire, align 8
  unreachable
}

I deliberately don't want to check in the test, since there is little
chance to regress on such a mistake. Such a test adds noise to the code
base.

I plan to check in first, since it fixes a crash, and the fix is obvious.

Diff Detail

Repository
rL LLVM

Event Timeline

timshen created this revision.Jun 16 2017, 6:24 PM
This revision was automatically updated to reflect the committed changes.