[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / Hexagon / packetize-frame-setup-destroy.mir
blob249907a49e452b439d7ed514bea3f63ba5d50708
1 # RUN: llc -march=hexagon -run-pass hexagon-packetizer %s -o - | FileCheck %s
3 ##############################################################################
4 # This test case is not really hexagon specific, but we use hexagon to get
5 # bundling.
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 ##############################################################################
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
22   bb.1:
23 ...
25 # CHECK-LABEL: name: setup
26 # CHECK: frame-setup BUNDLE
28 ##############################################################################
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
40   bb.1:
41 ...
43 # CHECK-LABEL: name: destroy
44 # CHECK: frame-destroy BUNDLE
46 ##############################################################################
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
58   bb.1:
59 ...
61 # CHECK-LABEL: name: mixed
62 # CHECK: frame-setup frame-destroy BUNDLE