[llvm] aa08172 - [NFC][PowerPC] Add a new test case early-ret-verify.mir

Kang Zhang via llvm-commits llvm-commits at lists.llvm.org
Sun Apr 12 20:49:05 PDT 2020


Author: Kang Zhang
Date: 2020-04-13T03:48:35Z
New Revision: aa081721d45f2260b38fdba7896ef386e24fefe8

URL: https://github.com/llvm/llvm-project/commit/aa081721d45f2260b38fdba7896ef386e24fefe8
DIFF: https://github.com/llvm/llvm-project/commit/aa081721d45f2260b38fdba7896ef386e24fefe8.diff

LOG: [NFC][PowerPC] Add a new test case early-ret-verify.mir

Added: 
    llvm/test/CodeGen/PowerPC/early-ret-verify.mir

Modified: 
    

Removed: 
    


################################################################################
diff  --git a/llvm/test/CodeGen/PowerPC/early-ret-verify.mir b/llvm/test/CodeGen/PowerPC/early-ret-verify.mir
new file mode 100644
index 000000000000..1d316020ec3e
--- /dev/null
+++ b/llvm/test/CodeGen/PowerPC/early-ret-verify.mir
@@ -0,0 +1,60 @@
+# RUN: llc -mtriple powerpc64le-unknown-linux-gnu -run-pass=ppc-early-ret -o \
+# RUN:   - %s | FileCheck %s
+
+---
+name:            testEarlyRet
+body:             |
+  bb.0.entry:
+    successors: %bb.4(0x40000000), %bb.1(0x40000000)
+  
+    BC undef renamable $cr5lt, %bb.4
+  
+  bb.1:
+    successors: %bb.2(0x80000000)
+  
+    renamable $r3 = IMPLICIT_DEF
+    renamable $r4 = IMPLICIT_DEF
+  
+  bb.2:
+    successors: %bb.3(0x80000000)
+    liveins: $r3, $r4
+  
+    $r5 = OR $r4, $r4
+    renamable $r4 = ADDIC killed $r4, 1, implicit-def $carry
+    $r6 = OR $r3, $r3
+    renamable $r3 = ADDZE killed $r3, implicit-def dead $carry, implicit killed $carry
+    renamable $cr0 = CMPLW renamable $r3, killed renamable $r6
+    renamable $cr5lt = CRANDC renamable $cr0lt, renamable $cr0eq
+    renamable $cr1 = CMPLW renamable $r4, killed renamable $r5
+    BCLR killed renamable $cr5lt, implicit $lr, implicit $rm
+  
+  bb.3:
+    successors: %bb.4(0x02082082), %bb.2(0x7df7df7e)
+    liveins: $cr0, $cr1, $r3, $r4
+  
+    renamable $cr5lt = CRAND killed renamable $cr0eq, killed renamable $cr1lt, implicit $cr1, implicit $cr0
+    BCn killed renamable $cr5lt, %bb.2
+  
+  bb.4:
+    BLR implicit $lr, implicit $rm
+
+  ; CHECK-LABEL: testEarlyRet
+  ; CHECK: bb.0.entry:
+  ; CHECK:   BCLR $cr5lt, implicit $lr, implicit $rm, implicit $lr, implicit $rm
+  ; CHECK: bb.1:
+  ; CHECK:   renamable $r3 = IMPLICIT_DEF
+  ; CHECK:   renamable $r4 = IMPLICIT_DEF
+  ; CHECK: bb.2:
+  ; CHECK:   $r5 = OR $r4, $r4
+  ; CHECK:   renamable $r4 = ADDIC killed $r4, 1, implicit-def $carry
+  ; CHECK:   $r6 = OR $r3, $r3
+  ; CHECK:   renamable $r3 = ADDZE killed $r3, implicit-def dead $carry, implicit killed $carry
+  ; CHECK:   renamable $cr0 = CMPLW renamable $r3, killed renamable $r6
+  ; CHECK:   renamable $cr5lt = CRANDC renamable $cr0lt, renamable $cr0eq
+  ; CHECK:   renamable $cr1 = CMPLW renamable $r4, killed renamable $r5
+  ; CHECK:   BCLR killed renamable $cr5lt, implicit $lr, implicit $rm
+  ; CHECK: bb.3:
+  ; CHECK:   renamable $cr5lt = CRAND killed renamable $cr0eq, killed renamable $cr1lt, implicit $cr1, implicit $cr0
+  ; CHECK:   BCn killed renamable $cr5lt, %bb.2
+  ; CHECK:   BLR implicit $lr, implicit $rm
+...


        


More information about the llvm-commits mailing list