[llvm-readelf/llvm-objdump] - Improve/refactor the implementation of SHT_LLVM_ADDRSIG...
[llvm-complete.git] / test / CodeGen / Hexagon / cext-unnamed-global.mir
blob22cb2e42f4c591101ce9f266e67da4f79dcc3d52
1 # RUN: llc -march=hexagon -run-pass=hexagon-cext-opt %s -o - | FileCheck %s
3 # Check that this test doesn't crash.
4 # CHECK: %0:intregs = A2_tfrsi @0
6 --- |
7   target triple = "hexagon"
9   @0 = external global [0 x i8]
10   @1 = external constant [2 x i64]
12   define void @f0() #0 {
13   b0:
14     tail call fastcc void @f1(float* inttoptr (i64 add (i64 ptrtoint ([0 x i8]* @0 to i64), i64 128) to float*), i64* getelementptr inbounds ([2 x i64], [2 x i64]* @1, i32 0, i32 0))
15     ret void
16   }
18   declare fastcc void @f1(float* nocapture readonly, i64* nocapture readonly) #1
20   attributes #0 = { alwaysinline nounwind "target-cpu"="hexagonv60" }
21   attributes #1 = { noinline norecurse nounwind "target-cpu"="hexagonv60" }
22 ...
24 ---
25 name: f0
26 tracksRegLiveness: true
27 body: |
28   bb.0:
29     %0:intregs = A2_tfrsi @0
30     %1:intregs = A2_tfrsi 0
31     %2:doubleregs = REG_SEQUENCE %0, %subreg.isub_lo, %1, %subreg.isub_hi
32     %3:doubleregs = CONST64 128
33     %4:doubleregs = A2_addp %2, %3
34     %5:intregs = A2_tfrsi @1
35     $r0 = COPY %4.isub_lo
36     $r1 = COPY %5
37     PS_tailcall_i @f1, hexagoncsr, implicit $r0, implicit $r1
38 ...