[llvm-objdump] - Remove one overload of reportError. NFCI.
[llvm-complete.git] / test / CodeGen / MIR / Hexagon / bundled-call-site-info.mir
blob5ffa0293a2e1baba6273eaeb3823016ce9361bef
1 # RUN: llc -debug-entry-values -run-pass=none -verify-machineinstrs -o - %s | FileCheck %s
3 # Verify that it is possible to read and write MIR where a callSites entry
4 # points to a call residing in a bundle. The offset should point to the call
5 # instruction, rather than the bundle head.
7 # CHECK: name: caller
8 # CHECK: callSites:
9 # CHECK-NEXT: bb: 0, offset: 3, fwdArgRegs:
10 # CHECK-NEXT:   arg: 0, reg: '$r0'
12 # XXX: Please note that at the time of creating this test the Hexagon target
13 # did not support call site information, so the "callSites" array has been
14 # manually added.
16 --- |
17   target datalayout = "e-m:e-p:32:32:32-a:0-n16:32-i64:64:64-i32:32:32-i16:16:16-i1:8:8-f32:32:32-f64:64:64-v32:32:32-v64:64:64-v512:512:512-v1024:1024:1024-v2048:2048:2048"
18   target triple = "hexagon"
20   define i32 @caller() {
21   entry:
22     tail call void @callee(i32 12345)
23     ret i32 0
24   }
26   declare void @callee(i32)
28 ...
29 ---
30 name:            caller
31 tracksRegLiveness: true
32 callSites:
33   - { bb: 0, offset: 3, fwdArgRegs:
34       - { arg: 0, reg: '$r0' } }
35 body:             |
36   bb.0.entry:
37     BUNDLE implicit-def $r29, implicit-def $r30, implicit-def dead $r0, implicit-def dead $pc, implicit-def dead $r31, implicit $r29, implicit killed $framekey, implicit killed $framelimit, implicit killed $r30, implicit killed $r31 {
38       $r29 = S2_allocframe $r29, 0, implicit-def $r30, implicit killed $framekey, implicit killed $framelimit, implicit killed $r30, implicit killed $r31 :: (store 4 into stack)
39       $r0 = A2_tfrsi 12345
40       J2_call @callee, hexagoncsr, implicit-def dead $pc, implicit-def dead $r31, implicit internal killed $r29, implicit internal killed $r0, implicit-def $r29
41     }
42     BUNDLE implicit-def dead $r0, implicit-def $d15, implicit-def $r30, implicit-def $r31, implicit-def $pc, implicit-def $r29, implicit killed $r30, implicit killed $framekey {
43       $r0 = A2_tfrsi 0
44       $d15 = L4_return killed $r30, implicit-def $pc, implicit-def $r29, implicit killed $framekey, implicit-def dead $pc, implicit internal killed $r0
45     }
47 ...