[PATCH] D34314: [PPC] Remove isBarrier from CFENCE8's definition.
Tim Shen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 16 18:24:15 PDT 2017
timshen created this revision.
Herald added subscribers: hiraditya, nemanjai, sanjoy.
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.
https://reviews.llvm.org/D34314
Files:
llvm/lib/Target/PowerPC/PPCInstr64Bit.td
Index: llvm/lib/Target/PowerPC/PPCInstr64Bit.td
===================================================================
--- llvm/lib/Target/PowerPC/PPCInstr64Bit.td
+++ llvm/lib/Target/PowerPC/PPCInstr64Bit.td
@@ -994,7 +994,7 @@
(PPCldGotTprelL tglobaltlsaddr:$disp, i64:$reg))]>,
isPPC64;
-let isBarrier = 1, isPseudo = 1, Defs = [CR7], Itinerary = IIC_LdStSync in
+let isPseudo = 1, Defs = [CR7], Itinerary = IIC_LdStSync in
def CFENCE8 : Pseudo<(outs), (ins g8rc:$cr), "#CFENCE8", []>;
def : Pat<(PPCaddTls i64:$in, tglobaltlsaddr:$g),
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D34314.102923.patch
Type: text/x-patch
Size: 587 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170617/4a7e5522/attachment.bin>
More information about the llvm-commits
mailing list