Bjorn Pettersson | 7ded6a9 | 2018-08-25 11:26:17 +0000 | [diff] [blame] | 1 | # RUN: llc -march=hexagon -run-pass hexagon-packetizer %s -o - | FileCheck %s |
| 2 | |
| 3 | ############################################################################## |
| 4 | # This test case is not really hexagon specific, but we use hexagon to get |
| 5 | # bundling. |
| 6 | # |
| 7 | # The goal is to verify that the BUNDLE instruction is getting the |
| 8 | # frame-setup/frame-destroy attribute if any of the bundled instructions got |
| 9 | # the attribute. |
| 10 | ############################################################################## |
| 11 | |
| 12 | --- |
| 13 | name: setup |
| 14 | tracksRegLiveness: true |
| 15 | body: | |
| 16 | bb.0: |
| 17 | liveins: $r1, $r2 |
| 18 | successors: %bb.1 |
| 19 | $r3 = frame-setup L2_loadri_io $r1, 0 |
| 20 | J4_cmpgtu_f_jumpnv_t killed $r3, killed $r2, %bb.1, implicit-def $pc |
| 21 | |
| 22 | bb.1: |
| 23 | ... |
| 24 | |
| 25 | # CHECK-LABEL: name: setup |
| 26 | # CHECK: frame-setup BUNDLE |
| 27 | |
| 28 | ############################################################################## |
| 29 | |
| 30 | --- |
| 31 | name: destroy |
| 32 | tracksRegLiveness: true |
| 33 | body: | |
| 34 | bb.0: |
| 35 | liveins: $r1, $r2 |
| 36 | successors: %bb.1 |
| 37 | $r3 = frame-destroy L2_loadri_io $r1, 0 |
| 38 | J4_cmpgtu_f_jumpnv_t killed $r3, killed $r2, %bb.1, implicit-def $pc |
| 39 | |
| 40 | bb.1: |
| 41 | ... |
| 42 | |
| 43 | # CHECK-LABEL: name: destroy |
| 44 | # CHECK: frame-destroy BUNDLE |
| 45 | |
| 46 | ############################################################################## |
| 47 | |
| 48 | --- |
| 49 | name: mixed |
| 50 | tracksRegLiveness: true |
| 51 | body: | |
| 52 | bb.0: |
| 53 | liveins: $r1, $r2 |
| 54 | successors: %bb.1 |
| 55 | $r3 = frame-setup L2_loadri_io $r1, 0 |
| 56 | frame-destroy J4_cmpgtu_f_jumpnv_t killed $r3, killed $r2, %bb.1, implicit-def $pc |
| 57 | |
| 58 | bb.1: |
| 59 | ... |
| 60 | |
| 61 | # CHECK-LABEL: name: mixed |
| 62 | # CHECK: frame-setup frame-destroy BUNDLE |