brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.0 KiB · c7bd591 Raw
207 lines · plain
1# RUN: llc -mtriple=ppc64-- -run-pass scavenger-test -verify-machineinstrs -o - %s | FileCheck %s2---3# CHECK-LABEL: name: noscav04name: noscav05tracksRegLiveness: true6body: |7  bb.0:8    ; CHECK: [[REG0:\$r[0-9]+]] = LI 429    ; CHECK-NEXT: NOP implicit killed [[REG0]]10    %0 : gprc = LI 4211    NOP implicit %012 13    ; CHECK: [[REG1:\$r[0-9]+]] = LI 4214    ; CHECK-NEXT: NOP15    ; CHECK-NEXT: NOP implicit [[REG1]]16    ; CHECK-NEXT: NOP17    ; CHECK-NEXT: NOP implicit killed [[REG1]]18    %1 : gprc = LI 4219    NOP20    NOP implicit %121    NOP22    NOP implicit %123 24    ; CHECK: [[REG2:\$r[0-9]+]] = LI 4225    ; CHECK-NEXT: NOP implicit [[REG2]]26    %2 : gprc = LI 4227    NOP implicit %228 29    $x0 = IMPLICIT_DEF30    $x1 = IMPLICIT_DEF31    $x2 = IMPLICIT_DEF32    $x3 = IMPLICIT_DEF33    $x4 = IMPLICIT_DEF34    $x27 = IMPLICIT_DEF35    $x28 = IMPLICIT_DEF36    $x29 = IMPLICIT_DEF37    $x30 = IMPLICIT_DEF38 39    ; CHECK-NOT: $x0 = LI 4240    ; CHECK-NOT: $x1 = LI 4241    ; CHECK-NOT: $x2 = LI 4242    ; CHECK-NOT: $x3 = LI 4243    ; CHECK-NOT: $x4 = LI 4244    ; CHECK-NOT: $x5 = LI 4245    ; CHECK-NOT: $x27 = LI 4246    ; CHECK-NOT: $x28 = LI 4247    ; CHECK-NOT: $x29 = LI 4248    ; CHECK-NOT: $x30 = LI 4249    ; CHECK: [[REG3:\$r[0-9]+]] = LI 4250    ; CHECK-NEXT: $x5 = IMPLICIT_DEF51    ; CHECK-NEXT: NOP implicit killed [[REG2]]52    ; CHECK-NEXT: NOP implicit killed [[REG3]]53    %3 : gprc = LI 4254    $x5 = IMPLICIT_DEF55    NOP implicit %256    NOP implicit %357 58    NOP implicit $x059    NOP implicit $x160    NOP implicit $x261    NOP implicit $x362    NOP implicit $x463    NOP implicit $x564    NOP implicit $x2765    NOP implicit $x2866    NOP implicit $x2967    NOP implicit $x3068...69---70# CHECK-LABEL: name: scav071name: scav072tracksRegLiveness: true73stack:74  # variable-sized object should be a reason to reserve an emergency spillslot75  # in the RegScavenger76  - { id: 0, type: variable-sized, offset: -32, alignment: 1 }77body: |78  bb.0:79    $x0 = IMPLICIT_DEF80    $x1 = IMPLICIT_DEF81    $x2 = IMPLICIT_DEF82    $x3 = IMPLICIT_DEF83    $x4 = IMPLICIT_DEF84    $x5 = IMPLICIT_DEF85    $x6 = IMPLICIT_DEF86    $x7 = IMPLICIT_DEF87    $x8 = IMPLICIT_DEF88    $x9 = IMPLICIT_DEF89    $x10 = IMPLICIT_DEF90    $x11 = IMPLICIT_DEF91    $x12 = IMPLICIT_DEF92    $x13 = IMPLICIT_DEF93    $x14 = IMPLICIT_DEF94    $x15 = IMPLICIT_DEF95    $x16 = IMPLICIT_DEF96    $x17 = IMPLICIT_DEF97    $x18 = IMPLICIT_DEF98    $x19 = IMPLICIT_DEF99    $x20 = IMPLICIT_DEF100    $x21 = IMPLICIT_DEF101    $x22 = IMPLICIT_DEF102    $x23 = IMPLICIT_DEF103    $x24 = IMPLICIT_DEF104    $x25 = IMPLICIT_DEF105    $x26 = IMPLICIT_DEF106    $x27 = IMPLICIT_DEF107    $x28 = IMPLICIT_DEF108    $x29 = IMPLICIT_DEF109    $x30 = IMPLICIT_DEF110 111    ; CHECK: STD killed [[SPILLEDREG:\$x[0-9]+]]112    ; CHECK: [[SPILLEDREG]] = LI8 42113    ; CHECK: NOP implicit killed [[SPILLEDREG]]114    ; CHECK: [[SPILLEDREG]] = LD115    %0 : g8rc = LI8 42116    NOP implicit %0117 118    NOP implicit $x0119    NOP implicit $x1120    NOP implicit $x2121    NOP implicit $x3122    NOP implicit $x4123    NOP implicit $x5124    NOP implicit $x6125    NOP implicit $x7126    NOP implicit $x8127    NOP implicit $x9128    NOP implicit $x10129    NOP implicit $x11130    NOP implicit $x12131    NOP implicit $x13132    NOP implicit $x14133    NOP implicit $x15134    NOP implicit $x16135    NOP implicit $x17136    NOP implicit $x18137    NOP implicit $x19138    NOP implicit $x20139    NOP implicit $x21140    NOP implicit $x22141    NOP implicit $x23142    NOP implicit $x24143    NOP implicit $x25144    NOP implicit $x26145    NOP implicit $x27146    NOP implicit $x28147    NOP implicit $x29148    NOP implicit $x30149...150---151# Check for bug where we would refuse to spill before the first instruction in a152# block.153# CHECK-LABEL: name: spill_at_begin154# CHECK: bb.0:155# CHECK: liveins:156# CHECK: STD killed [[REG:\$x[0-9]+]]{{.*}}(store (s64) into %stack.{{[0-9]+}})157# CHECK: [[REG]] = LIS8 0158# CHECK: [[REG]] = ORI8 killed [[REG]], 48159# CHECK: NOP implicit killed [[REG]]160# CHECK: [[REG]] = LD{{.*}}(load (s64) from %stack.{{[0-9]+}})161name: spill_at_begin162tracksRegLiveness: true163stack:164  # variable-sized object should be a reason to reserve an emergency spillslot165  # in the RegScavenger166  - { id: 0, type: variable-sized, offset: -32, alignment: 1 }167body: |168  bb.0:169    liveins: $x0, $x1, $x2, $x3, $x4, $x5, $x6, $x7, $x8, $x9, $x10, $x11, $x12, $x13, $x14, $x15, $x16, $x17, $x18, $x19, $x20, $x21, $x22, $x23, $x24, $x25, $x26, $x27, $x28, $x29, $x30, $x31170    %0 : g8rc = LIS8 0171    %1 : g8rc = ORI8 %0, 48172    NOP implicit %1173 174    NOP implicit $x0175    NOP implicit $x1176    NOP implicit $x2177    NOP implicit $x3178    NOP implicit $x4179    NOP implicit $x5180    NOP implicit $x6181    NOP implicit $x7182    NOP implicit $x8183    NOP implicit $x9184    NOP implicit $x10185    NOP implicit $x11186    NOP implicit $x12187    NOP implicit $x13188    NOP implicit $x14189    NOP implicit $x15190    NOP implicit $x16191    NOP implicit $x17192    NOP implicit $x18193    NOP implicit $x19194    NOP implicit $x20195    NOP implicit $x21196    NOP implicit $x22197    NOP implicit $x23198    NOP implicit $x24199    NOP implicit $x25200    NOP implicit $x26201    NOP implicit $x27202    NOP implicit $x28203    NOP implicit $x29204    NOP implicit $x30205    NOP implicit $x31206...207