[llvm] r371717 - [PowerPC][MCP][NFC] Pre-commit test cases for https://reviews.llvm.org/D65267

Kai Luo via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 12 02:00:45 PDT 2019


Author: lkail
Date: Thu Sep 12 02:00:44 2019
New Revision: 371717

URL: http://llvm.org/viewvc/llvm-project?rev=371717&view=rev
Log:
[PowerPC][MCP][NFC] Pre-commit test cases for https://reviews.llvm.org/D65267

Added:
    llvm/trunk/test/CodeGen/MIR/PowerPC/machine-backward-cp.mir

Added: llvm/trunk/test/CodeGen/MIR/PowerPC/machine-backward-cp.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/MIR/PowerPC/machine-backward-cp.mir?rev=371717&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/MIR/PowerPC/machine-backward-cp.mir (added)
+++ llvm/trunk/test/CodeGen/MIR/PowerPC/machine-backward-cp.mir Thu Sep 12 02:00:44 2019
@@ -0,0 +1,281 @@
+# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
+# RUN: llc -O3 -verify-machineinstrs -mtriple=powerpc64le-unknown-unknown \
+# RUN: -mcpu=pwr9 -simplify-mir -run-pass=machine-cp %s -o - | FileCheck %s
+
+# Normal case
+---
+name: test0
+alignment: 4
+tracksRegLiveness: true
+body: |
+  bb.0.entry:
+    ; CHECK-LABEL: name: test0
+    ; CHECK: renamable $x4 = LI8 1024
+    ; CHECK: $x3 = COPY killed renamable $x4
+    ; CHECK: BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+    renamable $x4 = LI8 1024
+    $x3 = COPY renamable killed $x4
+    BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+
+...
+
+# Not in terminal BBs
+---
+name: test1
+alignment: 4
+tracksRegLiveness: true
+body: |
+  ; CHECK-LABEL: name: test1
+  ; CHECK: bb.0.entry:
+  ; CHECK:   renamable $x5 = LI8 42
+  ; CHECK:   renamable $x4 = COPY killed renamable $x5
+  ; CHECK:   B %bb.1
+  ; CHECK: bb.1:
+  ; CHECK:   liveins: $x4
+  ; CHECK:   $x3 = COPY killed renamable $x4
+  ; CHECK:   BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+  bb.0.entry:
+    successors: %bb.1
+
+    renamable $x5 = LI8 42
+    renamable $x4 = COPY renamable killed $x5
+    B %bb.1
+
+  bb.1:
+    liveins: $x4
+    $x3 = COPY renamable killed $x4
+    BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+
+...
+
+# Use reserved register
+---
+name: test2
+alignment: 4
+tracksRegLiveness: true
+body: |
+  bb.0.entry:
+    ; CHECK-LABEL: name: test2
+    ; CHECK: renamable $x4 = LI8 1024
+    ; CHECK: $x13 = COPY killed renamable $x4
+    ; CHECK: BLR8 implicit $lr8, implicit undef $rm, implicit undef $x3
+    renamable $x4 = LI8 1024
+    $x13 = COPY renamable killed $x4
+    BLR8 implicit $lr8, implicit undef $rm, implicit undef $x3
+
+...
+
+# Intermediate read of copy's src
+---
+name: test3
+alignment: 4
+tracksRegLiveness: true
+body: |
+  bb.0.entry:
+    ; CHECK-LABEL: name: test3
+    ; CHECK: renamable $x4 = LI8 0
+    ; CHECK: renamable $x5 = ADDI8 $x4, 1
+    ; CHECK: $x3 = COPY killed renamable $x4
+    ; CHECK: BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+    renamable $x4 = LI8 0
+    renamable $x5 = ADDI8 $x4, 1
+    $x3 = COPY renamable killed $x4
+    BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+
+...
+
+# Intermediate read of copy's def
+---
+name: test4
+alignment: 4
+tracksRegLiveness: true
+body: |
+  bb.0.entry:
+    liveins: $x3
+
+    ; CHECK-LABEL: name: test4
+    ; CHECK: liveins: $x3
+    ; CHECK: renamable $x4 = LI8 0
+    ; CHECK: renamable $x5 = ADDI8 $x3, 1
+    ; CHECK: $x3 = COPY killed renamable $x4
+    ; CHECK: BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+    renamable $x4 = LI8 0
+    renamable $x5 = ADDI8 $x3, 1
+    $x3 = COPY renamable killed $x4
+    BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+
+...
+
+# Intermiediate clobber of copy's def
+---
+name: test5
+alignment: 4
+tracksRegLiveness: true
+body: |
+  bb.0.entry:
+    liveins: $x3, $x5
+
+    ; CHECK-LABEL: name: test5
+    ; CHECK: liveins: $x3, $x5
+    ; CHECK: renamable $x4 = LI8 0
+    ; CHECK: renamable $x3 = ADDI8 $x5, 1
+    ; CHECK: $x3 = COPY killed renamable $x4
+    ; CHECK: BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+    renamable $x4 = LI8 0
+    renamable $x3 = ADDI8 $x5, 1
+    $x3 = COPY renamable killed $x4
+    BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+
+...
+
+---
+name: iterative_deletion
+alignment: 4
+tracksRegLiveness: true
+body: |
+  bb.0.entry:
+    liveins: $x5
+
+    ; CHECK-LABEL: name: iterative_deletion
+    ; CHECK: liveins: $x5
+    ; CHECK: renamable $x6 = ADDI8 killed renamable $x5, 1
+    ; CHECK: $x3 = COPY $x6
+    ; CHECK: BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+    renamable $x6 = ADDI8 renamable killed $x5, 1
+    renamable $x4 = COPY renamable killed $x6
+    renamable $x7 = COPY renamable killed $x4
+    $x3 = COPY renamable killed $x7
+    BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+
+...
+
+---
+name: Enter
+alignment: 4
+tracksRegLiveness: true
+body: |
+  bb.0.entry:
+    liveins: $x4, $x7
+    ; CHECK-LABEL: name: Enter
+    ; CHECK: liveins: $x4, $x7
+    ; CHECK: renamable $x5 = COPY killed renamable $x7
+    ; CHECK: renamable $x6 = ADDI8 killed renamable $x4, 1
+    ; CHECK: $x3 = ADD8 killed renamable $x5, $x6
+    ; CHECK: BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+    renamable $x5 = COPY killed renamable $x7
+    renamable $x6 = ADDI8 killed renamable $x4, 1
+    renamable $x7 = COPY killed renamable $x6
+    $x3 = ADD8 renamable killed $x5, renamable killed $x7
+    BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+
+...
+
+---
+name: foo
+alignment: 4
+tracksRegLiveness: true
+body: |
+  bb.0.entry:
+    liveins: $x4, $x7
+    ; CHECK-LABEL: name: foo
+    ; CHECK: liveins: $x4, $x7
+    ; CHECK: renamable $x5 = COPY killed renamable $x7
+    ; CHECK: renamable $x6 = ADDI8 renamable $x4, 1
+    ; CHECK: renamable $x7 = COPY killed renamable $x6
+    ; CHECK: renamable $x8 = ADDI8 killed $x4, 2
+    ; CHECK: $x3 = ADD8 killed renamable $x5, $x8
+    ; CHECK: $x3 = ADD8 $x3, killed renamable $x7
+    ; CHECK: BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+    renamable $x5 = COPY killed renamable $x7
+    renamable $x6 = ADDI8 renamable $x4, 1
+    renamable $x7 = COPY killed renamable $x6
+    renamable $x8 = ADDI8 killed $x4, 2
+    renamable $x6 = COPY killed renamable $x8
+    $x3 = ADD8 renamable killed $x5, renamable killed $x6
+    $x3 = ADD8 $x3, renamable killed $x7
+    BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+
+...
+
+---
+name: bar
+alignment: 4
+tracksRegLiveness: true
+body: |
+  bb.0.entry:
+    liveins: $x4, $x7
+    ; CHECK-LABEL: name: bar
+    ; CHECK: liveins: $x4, $x7
+    ; CHECK: renamable $x5 = COPY killed renamable $x7
+    ; CHECK: renamable $x6 = ADDI8 renamable $x4, 1
+    ; CHECK: renamable $x8 = COPY $x6
+    ; CHECK: renamable $x6 = ADDI8 renamable $x5, 2
+    ; CHECK: $x3 = ADD8 killed renamable $x5, $x6
+    ; CHECK: $x3 = ADD8 $x3, killed renamable $x8
+    ; CHECK: BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+    renamable $x5 = COPY killed renamable $x7
+    renamable $x6 = ADDI8 renamable $x4, 1
+    renamable $x7 = COPY killed renamable $x6
+    renamable $x8 = COPY killed renamable $x7
+    renamable $x6 = ADDI8 renamable $x5, 2
+    renamable $x7 = COPY killed renamable $x6
+    $x3 = ADD8 renamable killed $x5, renamable killed $x7
+    $x3 = ADD8 $x3, renamable killed $x8
+    BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+
+...
+
+---
+name: bogus
+alignment: 4
+tracksRegLiveness: true
+body: |
+  bb.0.entry:
+    liveins: $x7
+    ; CHECK-LABEL: name: bogus
+    ; CHECK: liveins: $x7
+    ; CHECK: renamable $x5 = COPY renamable $x7
+    ; CHECK: renamable $x6 = ADDI8 $x7, 1
+    ; CHECK: renamable $x7 = COPY $x6
+    ; CHECK: renamable $x6 = ADDI8 renamable $x5, 2
+    ; CHECK: $x3 = ADD8 $x7, killed renamable $x5
+    ; CHECK: $x3 = ADD8 $x3, killed renamable $x6
+    ; CHECK: BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+    renamable $x5 = COPY killed renamable $x7
+    renamable $x6 = ADDI8 renamable $x5, 1
+    renamable $x4 = COPY killed renamable $x6
+    renamable $x7 = COPY killed renamable $x4
+    renamable $x6 = ADDI8 renamable $x5, 2
+    renamable $x4 = COPY killed renamable $x7
+    $x3 = ADD8 renamable killed $x4, renamable killed $x5
+    $x3 = ADD8 $x3, renamable killed $x6
+    BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+
+...
+
+---
+name: foobar
+alignment: 4
+tracksRegLiveness: true
+body: |
+  bb.0.entry:
+    liveins: $x7
+    ; CHECK-LABEL: name: foobar
+    ; CHECK: liveins: $x7
+    ; CHECK: renamable $x6 = ADDI8 $x7, 1
+    ; CHECK: renamable $x8 = COPY $x6
+    ; CHECK: renamable $x6 = ADDI8 $x7, 2
+    ; CHECK: $x3 = ADD8 $x6, $x7
+    ; CHECK: $x3 = ADD8 $x3, killed renamable $x8
+    ; CHECK: BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+    renamable $x5 = COPY killed renamable $x7
+    renamable $x6 = ADDI8 renamable $x5, 1
+    renamable $x4 = COPY killed renamable $x6
+    renamable $x8 = COPY killed renamable $x4
+    renamable $x6 = ADDI8 renamable $x5, 2
+    renamable $x4 = COPY killed renamable $x6
+    $x3 = ADD8 renamable killed $x4, renamable killed $x5
+    $x3 = ADD8 $x3, renamable killed $x8
+    BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+
+...




More information about the llvm-commits mailing list