[PATCH] D140366: [PowerPC][NFC] adding an option to keep the test point
ChenZheng via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 19 19:46:11 PST 2022
shchenz created this revision.
shchenz added reviewers: nemanjai, PowerPC.
Herald added a project: All.
shchenz requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Passes before hardware loop insertion change the loop to a form which
is not a hardware loop candidate (return early before checking the ctr clobbers).
And the PHI in the loop exit block is also optimized away. This breaks the
previous test point when the case was committed. Fixing this by running this
case just before hardware loop insertion pass.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D140366
Files:
llvm/test/CodeGen/PowerPC/pr48527.ll
Index: llvm/test/CodeGen/PowerPC/pr48527.ll
===================================================================
--- llvm/test/CodeGen/PowerPC/pr48527.ll
+++ llvm/test/CodeGen/PowerPC/pr48527.ll
@@ -1,5 +1,5 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc -relocation-model=pic -verify-machineinstrs < %s \
+; RUN: llc -relocation-model=pic -verify-machineinstrs -start-before=hardware-loops < %s \
; RUN: -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr8 | FileCheck %s
%struct.e.0.12.28.44.104.108.112.188 = type { i32 }
%struct.t.1.13.29.45.105.109.113.189 = type { i64, i64 }
@@ -11,36 +11,41 @@
; CHECK-LABEL: _ZNK1q1rEv:
; CHECK: # %bb.0: # %entry
; CHECK-NEXT: mflr 0
+; CHECK-NEXT: std 28, -32(1) # 8-byte Folded Spill
+; CHECK-NEXT: std 29, -24(1) # 8-byte Folded Spill
; CHECK-NEXT: std 30, -16(1) # 8-byte Folded Spill
-; CHECK-NEXT: stdu 1, -48(1)
-; CHECK-NEXT: std 0, 64(1)
-; CHECK-NEXT: addis 4, 2, .LC0 at toc@ha
-; CHECK-NEXT: lwz 3, 0(3)
-; CHECK-NEXT: ld 4, .LC0 at toc@l(4)
-; CHECK-NEXT: addi 3, 3, -1
-; CHECK-NEXT: .p2align 5
-; CHECK-NEXT: .LBB0_1: # %monotonic.i
-; CHECK-NEXT: #
-; CHECK-NEXT: lwz 5, 0(4)
-; CHECK-NEXT: cmpwi 1, 3, 0
-; CHECK-NEXT: addi 3, 3, -1
-; CHECK-NEXT: andi. 5, 5, 255
-; CHECK-NEXT: crorc 20, 6, 2
-; CHECK-NEXT: bc 4, 20, .LBB0_1
-; CHECK-NEXT: # %bb.2: # %if.end
-; CHECK-NEXT: crnot 20, 2
-; CHECK-NEXT: li 3, 0
-; CHECK-NEXT: li 4, 8
-; CHECK-NEXT: isel 30, 4, 3, 20
+; CHECK-NEXT: stdu 1, -64(1)
+; CHECK-NEXT: std 0, 80(1)
+; CHECK-NEXT: li 29, 0
+; CHECK-NEXT: lwz 30, 0(3)
+; CHECK-NEXT: addis 3, 2, .LC0 at toc@ha
+; CHECK-NEXT: ld 28, .LC0 at toc@l(3)
; CHECK-NEXT: addis 3, 2, aj at got@tlsgd at ha
; CHECK-NEXT: addi 3, 3, aj at got@tlsgd at l
; CHECK-NEXT: bl __tls_get_addr(aj at tlsgd)
; CHECK-NEXT: nop
-; CHECK-NEXT: li 4, 1
-; CHECK-NEXT: stdx 4, 3, 30
-; CHECK-NEXT: addi 1, 1, 48
+; CHECK-NEXT: addi 4, 3, 8
+; CHECK-NEXT: .p2align 5
+; CHECK-NEXT: .LBB0_1: # %monotonic.i
+; CHECK-NEXT: #
+; CHECK-NEXT: lwz 5, 0(28)
+; CHECK-NEXT: andi. 5, 5, 255
+; CHECK-NEXT: bne 0, .LBB0_4
+; CHECK-NEXT: # %bb.2: # %for.cond.i
+; CHECK-NEXT: #
+; CHECK-NEXT: addi 29, 29, 1
+; CHECK-NEXT: cmplw 29, 30
+; CHECK-NEXT: bne 0, .LBB0_1
+; CHECK-NEXT: # %bb.3:
+; CHECK-NEXT: mr 4, 3
+; CHECK-NEXT: .LBB0_4: # %if.end
+; CHECK-NEXT: li 3, 1
+; CHECK-NEXT: std 3, 0(4)
+; CHECK-NEXT: addi 1, 1, 64
; CHECK-NEXT: ld 0, 16(1)
; CHECK-NEXT: ld 30, -16(1) # 8-byte Folded Reload
+; CHECK-NEXT: ld 29, -24(1) # 8-byte Folded Reload
+; CHECK-NEXT: ld 28, -32(1) # 8-byte Folded Reload
; CHECK-NEXT: mtlr 0
; CHECK-NEXT: blr
entry:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D140366.484157.patch
Type: text/x-patch
Size: 2796 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221220/c6cb1fe5/attachment.bin>
More information about the llvm-commits
mailing list