summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/PowerPC
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/PowerPC')
-rw-r--r--llvm/test/CodeGen/PowerPC/machine-backward-cp.mir61
-rw-r--r--llvm/test/CodeGen/PowerPC/redundant-copy-after-tail-dup.ll3
2 files changed, 39 insertions, 25 deletions
diff --git a/llvm/test/CodeGen/PowerPC/machine-backward-cp.mir b/llvm/test/CodeGen/PowerPC/machine-backward-cp.mir
index bb2c29fc906..0374d55c0cb 100644
--- a/llvm/test/CodeGen/PowerPC/machine-backward-cp.mir
+++ b/llvm/test/CodeGen/PowerPC/machine-backward-cp.mir
@@ -11,8 +11,7 @@ tracksRegLiveness: true
body: |
bb.0.entry:
; CHECK-LABEL: name: test0
- ; CHECK: renamable $x4 = LI8 1024
- ; CHECK: $x3 = COPY killed renamable $x4
+ ; CHECK: $x3 = LI8 1024
; CHECK: BLR8 implicit $lr8, implicit undef $rm, implicit $x3
renamable $x4 = LI8 1024
$x3 = COPY renamable killed $x4
@@ -28,8 +27,7 @@ tracksRegLiveness: true
body: |
; CHECK-LABEL: name: test1
; CHECK: bb.0.entry:
- ; CHECK: renamable $x5 = LI8 42
- ; CHECK: renamable $x4 = COPY killed renamable $x5
+ ; CHECK: renamable $x4 = LI8 42
; CHECK: B %bb.1
; CHECK: bb.1:
; CHECK: liveins: $x4
@@ -139,8 +137,8 @@ body: |
; CHECK-LABEL: name: iterative_deletion
; CHECK: liveins: $x5
- ; CHECK: renamable $x6 = ADDI8 killed renamable $x5, 1
- ; CHECK: $x3 = COPY $x6
+ ; CHECK: renamable $x4 = ADDI8 killed renamable $x5, 1
+ ; CHECK: $x3 = COPY $x4
; CHECK: BLR8 implicit $lr8, implicit undef $rm, implicit $x3
renamable $x6 = ADDI8 renamable killed $x5, 1
renamable $x4 = COPY renamable killed $x6
@@ -160,8 +158,8 @@ body: |
; 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: renamable $x7 = ADDI8 killed renamable $x4, 1
+ ; CHECK: $x3 = ADD8 killed renamable $x5, killed renamable $x7
; CHECK: BLR8 implicit $lr8, implicit undef $rm, implicit $x3
renamable $x5 = COPY killed renamable $x7
renamable $x6 = ADDI8 killed renamable $x4, 1
@@ -181,10 +179,9 @@ body: |
; 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: renamable $x7 = ADDI8 renamable $x4, 1
+ ; CHECK: renamable $x6 = ADDI8 killed $x4, 2
+ ; CHECK: $x3 = ADD8 killed renamable $x5, killed renamable $x6
; CHECK: $x3 = ADD8 $x3, killed renamable $x7
; CHECK: BLR8 implicit $lr8, implicit undef $rm, implicit $x3
renamable $x5 = COPY killed renamable $x7
@@ -208,10 +205,10 @@ body: |
; 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: renamable $x7 = ADDI8 renamable $x4, 1
+ ; CHECK: renamable $x8 = COPY killed renamable $x7
+ ; CHECK: renamable $x7 = ADDI8 renamable $x5, 2
+ ; CHECK: $x3 = ADD8 killed renamable $x5, killed renamable $x7
; CHECK: $x3 = ADD8 $x3, killed renamable $x8
; CHECK: BLR8 implicit $lr8, implicit undef $rm, implicit $x3
renamable $x5 = COPY killed renamable $x7
@@ -236,10 +233,9 @@ body: |
; 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 $x4 = ADDI8 $x7, 1
; CHECK: renamable $x6 = ADDI8 renamable $x5, 2
- ; CHECK: $x3 = ADD8 $x7, killed renamable $x5
+ ; CHECK: $x3 = ADD8 killed renamable $x4, 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
@@ -263,10 +259,10 @@ body: |
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: renamable $x4 = ADDI8 $x7, 1
+ ; CHECK: renamable $x8 = COPY killed renamable $x4
+ ; CHECK: renamable $x4 = ADDI8 $x7, 2
+ ; CHECK: $x3 = ADD8 killed renamable $x4, $x7
; CHECK: $x3 = ADD8 $x3, killed renamable $x8
; CHECK: BLR8 implicit $lr8, implicit undef $rm, implicit $x3
renamable $x5 = COPY killed renamable $x7
@@ -280,3 +276,22 @@ body: |
BLR8 implicit $lr8, implicit undef $rm, implicit $x3
...
+
+---
+name: cross_call
+alignment: 4
+tracksRegLiveness: true
+body: |
+ bb.0.entry:
+ liveins: $x2, $x3, $x20
+ ; CHECK-LABEL: name: cross_call
+ ; CHECK: liveins: $x2, $x3, $x20
+ ; CHECK: renamable $x20 = LI8 1024
+ ; CHECK: BL8_NOP @foo, csr_svr464_altivec, implicit-def $lr8, implicit $rm, implicit $x3, implicit-def $x3, implicit $x2
+ ; CHECK: $x3 = COPY killed renamable $x20
+ ; CHECK: BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+ renamable $x20 = LI8 1024
+ BL8_NOP @foo, csr_svr464_altivec, implicit-def $lr8, implicit $rm, implicit $x3, implicit-def $x3, implicit $x2
+ $x3 = COPY renamable killed $x20
+ BLR8 implicit $lr8, implicit undef $rm, implicit $x3
+...
diff --git a/llvm/test/CodeGen/PowerPC/redundant-copy-after-tail-dup.ll b/llvm/test/CodeGen/PowerPC/redundant-copy-after-tail-dup.ll
index 6aaf169dabe..dd41abd093d 100644
--- a/llvm/test/CodeGen/PowerPC/redundant-copy-after-tail-dup.ll
+++ b/llvm/test/CodeGen/PowerPC/redundant-copy-after-tail-dup.ll
@@ -26,8 +26,7 @@ define dso_local i1 @t(%class.A* %this, i32 %color, i32 %vertex) local_unnamed_a
; CHECK-P9-NEXT: cmplwi r3, 2
; CHECK-P9-NEXT: bge- cr0, .LBB0_6
; CHECK-P9-NEXT: # %bb.3: # %land.lhs.true.1
-; CHECK-P9-NEXT: li r5, 0
-; CHECK-P9-NEXT: mr r3, r5
+; CHECK-P9-NEXT: li r3, 0
; CHECK-P9-NEXT: blr
; CHECK-P9-NEXT: .LBB0_4: # %lor.lhs.false
; CHECK-P9-NEXT: cmplwi cr0, r4, 0
OpenPOWER on IntegriCloud