Home | History | Annotate | Download | only in AArch64
      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 ---
     24 name:            foo
     25 alignment:       2
     26 tracksRegLiveness: true
     27 body:             |
     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 ---
     36 name:            foo2
     37 alignment:       2
     38 tracksRegLiveness: true
     39 body:             |
     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 ---
     48 name:            foo3
     49 alignment:       2
     50 tracksRegLiveness: true
     51 body:             |
     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