[llvm] r364775 - [UpdateTestChecks][PowerPC] Avoid empty string when scrubbing loop comments
Jinsong Ji via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 1 07:37:48 PDT 2019
Author: jsji
Date: Mon Jul 1 07:37:48 2019
New Revision: 364775
URL: http://llvm.org/viewvc/llvm-project?rev=364775&view=rev
Log:
[UpdateTestChecks][PowerPC] Avoid empty string when scrubbing loop comments
Summary:
SCRUB_LOOP_COMMENT_RE was introduced in https://reviews.llvm.org/D31285
This works for some loops.
However, we may generate lines with loop comments only.
And since we don't scrub leading white spaces, this will leave an empty
line there, and FileCheck will complain it.
eg: llvm/test/CodeGen/PowerPC/PR35812-neg-cmpxchg.ll:27:15:
error: found empty check string with prefix 'CHECK:'
; CHECK-NEXT:
This prevented us from using the `update_llc_test_checks.py` for quite some cases.
We should still keep the comment token there, so that we can safely
scrub the loop comment without breaking FileCheck.
Reviewers: timshen, hfinkel, lebedev.ri, RKSimon
Subscribers: nemanjai, jfb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D63957
Modified:
llvm/trunk/test/CodeGen/PowerPC/PR35812-neg-cmpxchg.ll
llvm/trunk/utils/UpdateTestChecks/asm.py
Modified: llvm/trunk/test/CodeGen/PowerPC/PR35812-neg-cmpxchg.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/PR35812-neg-cmpxchg.ll?rev=364775&r1=364774&r2=364775&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/PowerPC/PR35812-neg-cmpxchg.ll (original)
+++ llvm/trunk/test/CodeGen/PowerPC/PR35812-neg-cmpxchg.ll Mon Jul 1 07:37:48 2019
@@ -10,61 +10,133 @@
define signext i32 @main() {
; CHECK-LABEL: main:
-; CHECK: li 3, -32477
-; CHECK: li 6, 234
-; CHECK: sth 3, 46(1)
-; CHECK: lis 3, 0
-; CHECK: ori 4, 3, 33059
-; CHECK: sync
-; CHECK: .LBB0_1: # %L.entry
-; CHECK: lharx 3, 0, 5
-; CHECK: cmpw 4, 3
-; CHECK: bne 0, .LBB0_3
-; CHECK: sthcx. 6, 0, 5
-; CHECK: bne 0, .LBB0_1
-; CHECK: b .LBB0_4
-; CHECK: .LBB0_3: # %L.entry
-; CHECK: sthcx. 3, 0, 5
-; CHECK: .LBB0_4: # %L.entry
-; CHECK: cmplwi 3, 33059
-; CHECK: lwsync
-; CHECK: lhz 3, 46(1)
-; CHECK: cmplwi 3, 234
+; CHECK: # %bb.0: # %L.entry
+; CHECK-NEXT: mflr 0
+; CHECK-NEXT: std 0, 16(1)
+; CHECK-NEXT: stdu 1, -48(1)
+; CHECK-NEXT: .cfi_def_cfa_offset 48
+; CHECK-NEXT: .cfi_offset lr, 16
+; CHECK-NEXT: li 3, -32477
+; CHECK-NEXT: li 6, 234
+; CHECK-NEXT: addi 5, 1, 46
+; CHECK-NEXT: sth 3, 46(1)
+; CHECK-NEXT: lis 3, 0
+; CHECK-NEXT: ori 4, 3, 33059
+; CHECK-NEXT: sync
+; CHECK-NEXT: .LBB0_1: # %L.entry
+; CHECK-NEXT: #
+; CHECK-NEXT: lharx 3, 0, 5
+; CHECK-NEXT: cmpw 4, 3
+; CHECK-NEXT: bne 0, .LBB0_3
+; CHECK-NEXT: # %bb.2: # %L.entry
+; CHECK-NEXT: #
+; CHECK-NEXT: sthcx. 6, 0, 5
+; CHECK-NEXT: bne 0, .LBB0_1
+; CHECK-NEXT: b .LBB0_4
+; CHECK-NEXT: .LBB0_3: # %L.entry
+; CHECK-NEXT: sthcx. 3, 0, 5
+; CHECK-NEXT: .LBB0_4: # %L.entry
+; CHECK-NEXT: cmplwi 3, 33059
+; CHECK-NEXT: lwsync
+; CHECK-NEXT: bne 0, .LBB0_7
+; CHECK-NEXT: # %bb.5: # %L.B0000
+; CHECK-NEXT: lhz 3, 46(1)
+; CHECK-NEXT: cmplwi 3, 234
+; CHECK-NEXT: bne 0, .LBB0_8
+; CHECK-NEXT: # %bb.6: # %L.B0001
+; CHECK-NEXT: addis 3, 2, .Lstr.2 at toc@ha
+; CHECK-NEXT: addi 3, 3, .Lstr.2 at toc@l
+; CHECK-NEXT: bl puts
+; CHECK-NEXT: nop
+; CHECK-NEXT: li 3, 0
+; CHECK-NEXT: b .LBB0_10
+; CHECK-NEXT: .LBB0_7: # %L.B0003
+; CHECK-NEXT: addis 3, 2, .Lstr at toc@ha
+; CHECK-NEXT: addi 3, 3, .Lstr at toc@l
+; CHECK-NEXT: b .LBB0_9
+; CHECK-NEXT: .LBB0_8: # %L.B0005
+; CHECK-NEXT: addis 3, 2, .Lstr.1 at toc@ha
+; CHECK-NEXT: addi 3, 3, .Lstr.1 at toc@l
+; CHECK-NEXT: .LBB0_9: # %L.B0003
+; CHECK-NEXT: bl puts
+; CHECK-NEXT: nop
+; CHECK-NEXT: li 3, 1
+; CHECK-NEXT: .LBB0_10: # %L.B0003
+; CHECK-NEXT: addi 1, 1, 48
+; CHECK-NEXT: ld 0, 16(1)
+; CHECK-NEXT: mtlr 0
+; CHECK-NEXT: blr
;
; CHECK-P7-LABEL: main:
-; CHECK-P7: li 3, -32477
-; CHECK-P7: lis 5, 0
-; CHECK-P7: li 7, 0
-; CHECK-P7: sth 3, 46(1)
-; CHECK-P7: li 6, 234
-; CHECK-P7: ori 5, 5, 33059
-; CHECK-P7: rlwinm 3, 4, 3, 27, 27
-; CHECK-P7: ori 7, 7, 65535
-; CHECK-P7: sync
-; CHECK-P7: slw 6, 6, 3
-; CHECK-P7: slw 8, 5, 3
-; CHECK-P7: slw 5, 7, 3
-; CHECK-P7: rldicr 4, 4, 0, 61
-; CHECK-P7: and 7, 6, 5
-; CHECK-P7: and 8, 8, 5
-; CHECK-P7: .LBB0_1: # %L.entry
-; CHECK-P7: lwarx 9, 0, 4
-; CHECK-P7: and 6, 9, 5
-; CHECK-P7: cmpw 6, 8
-; CHECK-P7: bne 0, .LBB0_3
-; CHECK-P7: andc 9, 9, 5
-; CHECK-P7: or 9, 9, 7
-; CHECK-P7: stwcx. 9, 0, 4
-; CHECK-P7: bne 0, .LBB0_1
-; CHECK-P7: b .LBB0_4
-; CHECK-P7: .LBB0_3: # %L.entry
-; CHECK-P7: stwcx. 9, 0, 4
-; CHECK-P7: .LBB0_4: # %L.entry
-; CHECK-P7: srw 3, 6, 3
-; CHECK-P7: lwsync
-; CHECK-P7: cmplwi 3, 33059
-; CHECK-P7: lhz 3, 46(1)
-; CHECK-P7: cmplwi 3, 234
+; CHECK-P7: # %bb.0: # %L.entry
+; CHECK-P7-NEXT: mflr 0
+; CHECK-P7-NEXT: std 0, 16(1)
+; CHECK-P7-NEXT: stdu 1, -48(1)
+; CHECK-P7-NEXT: .cfi_def_cfa_offset 48
+; CHECK-P7-NEXT: .cfi_offset lr, 16
+; CHECK-P7-NEXT: li 3, -32477
+; CHECK-P7-NEXT: lis 5, 0
+; CHECK-P7-NEXT: addi 4, 1, 46
+; CHECK-P7-NEXT: li 7, 0
+; CHECK-P7-NEXT: sth 3, 46(1)
+; CHECK-P7-NEXT: li 6, 234
+; CHECK-P7-NEXT: ori 5, 5, 33059
+; CHECK-P7-NEXT: rlwinm 3, 4, 3, 27, 27
+; CHECK-P7-NEXT: ori 7, 7, 65535
+; CHECK-P7-NEXT: sync
+; CHECK-P7-NEXT: slw 6, 6, 3
+; CHECK-P7-NEXT: slw 8, 5, 3
+; CHECK-P7-NEXT: slw 5, 7, 3
+; CHECK-P7-NEXT: rldicr 4, 4, 0, 61
+; CHECK-P7-NEXT: and 7, 6, 5
+; CHECK-P7-NEXT: and 8, 8, 5
+; CHECK-P7-NEXT: .LBB0_1: # %L.entry
+; CHECK-P7-NEXT: #
+; CHECK-P7-NEXT: lwarx 9, 0, 4
+; CHECK-P7-NEXT: and 6, 9, 5
+; CHECK-P7-NEXT: cmpw 6, 8
+; CHECK-P7-NEXT: bne 0, .LBB0_3
+; CHECK-P7-NEXT: # %bb.2: # %L.entry
+; CHECK-P7-NEXT: #
+; CHECK-P7-NEXT: andc 9, 9, 5
+; CHECK-P7-NEXT: or 9, 9, 7
+; CHECK-P7-NEXT: stwcx. 9, 0, 4
+; CHECK-P7-NEXT: bne 0, .LBB0_1
+; CHECK-P7-NEXT: b .LBB0_4
+; CHECK-P7-NEXT: .LBB0_3: # %L.entry
+; CHECK-P7-NEXT: stwcx. 9, 0, 4
+; CHECK-P7-NEXT: .LBB0_4: # %L.entry
+; CHECK-P7-NEXT: srw 3, 6, 3
+; CHECK-P7-NEXT: lwsync
+; CHECK-P7-NEXT: cmplwi 3, 33059
+; CHECK-P7-NEXT: bne 0, .LBB0_7
+; CHECK-P7-NEXT: # %bb.5: # %L.B0000
+; CHECK-P7-NEXT: lhz 3, 46(1)
+; CHECK-P7-NEXT: cmplwi 3, 234
+; CHECK-P7-NEXT: bne 0, .LBB0_8
+; CHECK-P7-NEXT: # %bb.6: # %L.B0001
+; CHECK-P7-NEXT: addis 3, 2, .Lstr.2 at toc@ha
+; CHECK-P7-NEXT: addi 3, 3, .Lstr.2 at toc@l
+; CHECK-P7-NEXT: bl puts
+; CHECK-P7-NEXT: nop
+; CHECK-P7-NEXT: li 3, 0
+; CHECK-P7-NEXT: b .LBB0_10
+; CHECK-P7-NEXT: .LBB0_7: # %L.B0003
+; CHECK-P7-NEXT: addis 3, 2, .Lstr at toc@ha
+; CHECK-P7-NEXT: addi 3, 3, .Lstr at toc@l
+; CHECK-P7-NEXT: b .LBB0_9
+; CHECK-P7-NEXT: .LBB0_8: # %L.B0005
+; CHECK-P7-NEXT: addis 3, 2, .Lstr.1 at toc@ha
+; CHECK-P7-NEXT: addi 3, 3, .Lstr.1 at toc@l
+; CHECK-P7-NEXT: .LBB0_9: # %L.B0003
+; CHECK-P7-NEXT: bl puts
+; CHECK-P7-NEXT: nop
+; CHECK-P7-NEXT: li 3, 1
+; CHECK-P7-NEXT: .LBB0_10: # %L.B0003
+; CHECK-P7-NEXT: addi 1, 1, 48
+; CHECK-P7-NEXT: ld 0, 16(1)
+; CHECK-P7-NEXT: mtlr 0
+; CHECK-P7-NEXT: blr
L.entry:
%value.addr = alloca i16, align 2
store i16 -32477, i16* %value.addr, align 2
Modified: llvm/trunk/utils/UpdateTestChecks/asm.py
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/UpdateTestChecks/asm.py?rev=364775&r1=364774&r2=364775&view=diff
==============================================================================
--- llvm/trunk/utils/UpdateTestChecks/asm.py (original)
+++ llvm/trunk/utils/UpdateTestChecks/asm.py Mon Jul 1 07:37:48 2019
@@ -215,8 +215,8 @@ def scrub_asm_powerpc(asm, args):
asm = common.SCRUB_WHITESPACE_RE.sub(r' ', asm)
# Expand the tabs used for indentation.
asm = string.expandtabs(asm, 2)
- # Stripe unimportant comments
- asm = SCRUB_LOOP_COMMENT_RE.sub(r'', asm)
+ # Stripe unimportant comments, but leave the token '#' in place.
+ asm = SCRUB_LOOP_COMMENT_RE.sub(r'#', asm)
# Strip trailing whitespace.
asm = common.SCRUB_TRAILING_WHITESPACE_RE.sub(r'', asm)
return asm
More information about the llvm-commits
mailing list