• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN: llc -simplify-mir -run-pass=machine-outliner -verify-machineinstrs %s -o - | FileCheck %s
2# CHECK-NOT: OUTLINED_FUNCTION
3--- |
4  target triple = "arm64----"
5
6  @g = external global i64, align 8
7
8  define void @foo() #0 {
9    ret void
10  }
11
12  define void @foo2() #0 {
13    ret void
14  }
15
16  define void @foo3() #0 {
17    ret void
18  }
19
20  attributes #0 = { nounwind noredzone }
21
22...
23---
24name:            foo
25alignment:       2
26tracksRegLiveness: true
27body:             |
28  bb.0 (%ir-block.0):
29    liveins: $x27, $lr
30    $x27 = ADRP target-flags(aarch64-page, aarch64-got) @g
31    $lr = ADRP target-flags(aarch64-page, aarch64-got) @g
32    RET undef $lr
33
34...
35---
36name:            foo2
37alignment:       2
38tracksRegLiveness: true
39body:             |
40  bb.0 (%ir-block.0):
41    liveins: $x27, $lr
42    $x27 = ADRP target-flags(aarch64-page, aarch64-got) @g
43    $lr = ADRP target-flags(aarch64-page, aarch64-got) @g
44    RET undef $lr
45
46...
47---
48name:            foo3
49alignment:       2
50tracksRegLiveness: true
51body:             |
52  bb.0 (%ir-block.0):
53    liveins: $x27, $lr
54    $x27 = ADRP target-flags(aarch64-page, aarch64-got) @g
55    $lr = ADRP target-flags(aarch64-page, aarch64-got) @g
56    RET undef $lr
57...
58