116 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --include-generated-funcs2# RUN: llc %s -mtriple aarch64 -outliner-leaf-descendants=false -debug-only=machine-outliner -run-pass=machine-outliner -o - 2>&1 | FileCheck %s3# RUN: llc %s -mtriple aarch64 -debug-only=machine-outliner -run-pass=machine-outliner -o - 2>&1 | FileCheck %s --check-prefix=CHECK-LEAF4# REQUIRES: asserts5 6# CHECK: *** Discarding overlapping candidates ***7# CHECK-NEXT:Searching for overlaps in all repeated sequences...8# CHECK-DAG: Sequence length: 79# CHECK-NEXT: Candidates discarded: 010# CHECK-NEXT: Candidates kept: 211# CHECK-DAG: Sequence length: 812# CHECK-NEXT: .. DISCARD candidate @ [12, 19]; overlaps with candidate @ [5, 12]13# CHECK-NEXT: Candidates discarded: 114# CHECK-NEXT: Candidates kept: 115# CHECK-DAG: Sequence length: 916# CHECK-NEXT: .. DISCARD candidate @ [11, 19]; overlaps with candidate @ [4, 12]17# CHECK-NEXT: Candidates discarded: 118# CHECK-NEXT: Candidates kept: 119# CHECK-DAG: Sequence length: 1020# CHECK-NEXT: .. DISCARD candidate @ [10, 19]; overlaps with candidate @ [3, 12]21# CHECK-NEXT: Candidates discarded: 122# CHECK-NEXT: Candidates kept: 123# CHECK-DAG: Sequence length: 1124# CHECK-NEXT: .. DISCARD candidate @ [9, 19]; overlaps with candidate @ [2, 12]25# CHECK-NEXT: Candidates discarded: 126# CHECK-NEXT: Candidates kept: 127# CHECK-DAG: Sequence length: 1228# CHECK-NEXT: .. DISCARD candidate @ [8, 19]; overlaps with candidate @ [1, 12]29# CHECK-NEXT: Candidates discarded: 130# CHECK-NEXT: Candidates kept: 131# CHECK-DAG: Sequence length: 1332# CHECK-NEXT: .. DISCARD candidate @ [7, 19]; overlaps with candidate @ [0, 12]33# CHECK-NEXT: Candidates discarded: 134# CHECK-NEXT: Candidates kept: 135 36...37---38name: overlap39tracksRegLiveness: true40machineFunctionInfo:41 hasRedZone: false42body: |43 bb.0:44 liveins: $x0, $x945 ; CHECK-LABEL: name: overlap46 ; CHECK: liveins: $x0, $x947 ; CHECK-NEXT: {{ $}}48 ; CHECK-NEXT: $x9 = ADDXri $x9, 16, 049 ; CHECK-NEXT: $x9 = ADDXri $x9, 16, 050 ; CHECK-NEXT: $x9 = ADDXri $x9, 16, 051 ; CHECK-NEXT: $x9 = ADDXri $x9, 16, 052 ; CHECK-NEXT: $x9 = ADDXri $x9, 16, 053 ; CHECK-NEXT: $x9 = ADDXri $x9, 16, 054 ; CHECK-NEXT: BL @OUTLINED_FUNCTION_0, implicit-def $lr, implicit $sp, implicit-def $lr, implicit-def $x8, implicit-def $x9, implicit $sp, implicit $x0, implicit $x955 ; CHECK-NEXT: BL @OUTLINED_FUNCTION_0, implicit-def $lr, implicit $sp, implicit-def $lr, implicit-def $x8, implicit-def $x9, implicit $sp, implicit $x0, implicit $x956 ; CHECK-NEXT: RET undef $x957 58 ; CHECK-LABEL: name: OUTLINED_FUNCTION_059 ; CHECK: liveins: $x0, $x9, $lr60 ; CHECK-NEXT: {{ $}}61 ; CHECK-NEXT: $x8 = ADDXri $x0, 3, 062 ; CHECK-NEXT: $x9 = ADDXri $x9, 16, 063 ; CHECK-NEXT: $x9 = ADDXri $x9, 16, 064 ; CHECK-NEXT: $x9 = ADDXri $x9, 16, 065 ; CHECK-NEXT: $x9 = ADDXri $x9, 16, 066 ; CHECK-NEXT: $x9 = ADDXri $x9, 16, 067 ; CHECK-NEXT: $x9 = ADDXri $x9, 16, 068 ; CHECK-NEXT: RET $lr69 70 ; CHECK-LEAF-LABEL: name: overlap71 ; CHECK-LEAF: liveins: $x0, $x972 ; CHECK-LEAF-NEXT: {{ $}}73 ; CHECK-LEAF-NEXT: BL @OUTLINED_FUNCTION_074 ; CHECK-LEAF-NEXT: BL @OUTLINED_FUNCTION_075 ; CHECK-LEAF-NEXT: $x8 = ADDXri $x0, 3, 076 ; CHECK-LEAF-NEXT: BL @OUTLINED_FUNCTION_077 ; CHECK-LEAF-NEXT: BL @OUTLINED_FUNCTION_078 ; CHECK-LEAF-NEXT: $x8 = ADDXri $x0, 3, 079 ; CHECK-LEAF-NEXT: BL @OUTLINED_FUNCTION_080 ; CHECK-LEAF-NEXT: BL @OUTLINED_FUNCTION_081 ; CHECK-LEAF-NEXT: RET undef $x982 83 ; CHECK-LEAF-LABEL: name: OUTLINED_FUNCTION_084 ; CHECK-LEAF: liveins: $x0, $x9, $lr85 ; CHECK-LEAF-NEXT: {{ $}}86 ; CHECK-LEAF-NEXT: $x9 = ADDXri $x9, 16, 087 ; CHECK-LEAF-NEXT: $x9 = ADDXri $x9, 16, 088 ; CHECK-LEAF-NEXT: $x9 = ADDXri $x9, 16, 089 ; CHECK-LEAF-NEXT: RET $lr90 91 $x9 = ADDXri $x9, 16, 092 $x9 = ADDXri $x9, 16, 093 $x9 = ADDXri $x9, 16, 094 $x9 = ADDXri $x9, 16, 095 $x9 = ADDXri $x9, 16, 096 $x9 = ADDXri $x9, 16, 097 98 $x8 = ADDXri $x0, 3, 099 100 $x9 = ADDXri $x9, 16, 0101 $x9 = ADDXri $x9, 16, 0102 $x9 = ADDXri $x9, 16, 0103 $x9 = ADDXri $x9, 16, 0104 $x9 = ADDXri $x9, 16, 0105 $x9 = ADDXri $x9, 16, 0106 107 $x8 = ADDXri $x0, 3, 0108 109 $x9 = ADDXri $x9, 16, 0110 $x9 = ADDXri $x9, 16, 0111 $x9 = ADDXri $x9, 16, 0112 $x9 = ADDXri $x9, 16, 0113 $x9 = ADDXri $x9, 16, 0114 $x9 = ADDXri $x9, 16, 0115 RET undef $x9116