191 lines · plain
1// RUN: llvm-mc -triple=arm64-apple-ios -filetype=obj -emit-compact-unwind-non-canonical=true < %s | \2// RUN: llvm-objdump --macho --unwind-info - | \3// RUN: FileCheck %s4//5// rdar://130705566 7// CHECK: Contents of __compact_unwind section:8// CHECK-NEXT: Entry at offset 0x0:9// CHECK-NEXT: start: 0x0 ltmp010// CHECK-NEXT: length: 0x811// CHECK-NEXT: compact encoding: 0x0200000012// CHECK-NEXT: Entry at offset 0x20:13// CHECK-NEXT: start: 0x8 _foo214// CHECK-NEXT: length: 0x4015// CHECK-NEXT: compact encoding: 0x0200900016// CHECK-NEXT: Entry at offset 0x40:17// CHECK-NEXT: start: 0x48 _foo318// CHECK-NEXT: length: 0xd419// CHECK-NEXT: compact encoding: 0x0200400f20// CHECK-NEXT: Entry at offset 0x60:21// CHECK-NEXT: start: 0x11c _foo422// CHECK-NEXT: length: 0x5423// CHECK-NEXT: compact encoding: 0x0202101024 25 .section __TEXT,__text,regular,pure_instructions26 .globl _foo127 .align 228_foo1: ; @foo129 .cfi_startproc30; %bb.0: ; %entry31 add w0, w0, #42 ; =#4232 ret33 .cfi_endproc34 35 .globl _foo236 .align 237_foo2: ; @foo238 .cfi_startproc39; %bb.0: ; %entry40 sub sp, sp, #144 ; =#14441Ltmp2:42 .cfi_def_cfa_offset 14443 mov x9, xzr44 mov x8, sp45LBB1_1: ; %for.body46 ; =>This Inner Loop Header: Depth=147 str w9, [x8, x9, lsl #2]48 add x9, x9, #1 ; =#149 cmp w9, #36 ; =#3650 b.ne LBB1_151; %bb.2:52 mov x9, xzr53 mov w0, wzr54LBB1_3: ; %for.body455 ; =>This Inner Loop Header: Depth=156 ldr w10, [x8, x9]57 add x9, x9, #4 ; =#458 cmp w9, #144 ; =#14459 add w0, w10, w060 b.ne LBB1_361; %bb.4: ; %for.end962 add sp, sp, #144 ; =#14463 ret64 .cfi_endproc65 66 .globl _foo367 .align 268_foo3: ; @foo369 .cfi_startproc70; %bb.0: ; %entry71 stp x26, x25, [sp, #-64]!72 stp x24, x23, [sp, #16]73 stp x22, x21, [sp, #32]74 stp x20, x19, [sp, #48]75Ltmp3:76 .cfi_def_cfa_offset 6477Ltmp4:78 .cfi_offset w19, -1679Ltmp5:80 .cfi_offset w20, -2481Ltmp6:82 .cfi_offset w21, -3283Ltmp7:84 .cfi_offset w22, -4085Ltmp8:86 .cfi_offset w23, -4887Ltmp9:88 .cfi_offset w24, -5689Ltmp10:90 .cfi_offset w25, -6491Ltmp11:92 .cfi_offset w26, -7293Lloh0:94 adrp x8, _bar@GOTPAGE95Lloh1:96 ldr x8, [x8, _bar@GOTPAGEOFF]97 ldr w9, [x8]98 ldr w10, [x8]99 ldr w11, [x8]100 ldr w12, [x8]101 ldr w13, [x8]102 ldr w14, [x8]103 ldr w15, [x8]104 ldr w16, [x8]105 ldr w17, [x8]106 ldr w0, [x8]107 ldr w19, [x8]108 ldr w20, [x8]109 ldr w21, [x8]110 ldr w22, [x8]111 ldr w23, [x8]112 ldr w24, [x8]113 ldr w25, [x8]114 ldr w8, [x8]115 add w9, w10, w9116 add w9, w9, w11117 add w9, w9, w12118 add w9, w9, w13119 add w9, w9, w14120 add w9, w9, w15121 add w9, w9, w16122 add w9, w9, w17123 add w9, w9, w0124 add w9, w9, w19125 add w9, w9, w20126 add w9, w9, w21127 add w9, w9, w22128 add w9, w9, w23129 add w9, w9, w24130 add w9, w9, w25131 sub w8, w8, w9132 sub w8, w8, w7, lsl #1133 sub w8, w8, w6, lsl #1134 sub w8, w8, w5, lsl #1135 sub w8, w8, w4, lsl #1136 sub w8, w8, w3, lsl #1137 sub w8, w8, w2, lsl #1138 sub w0, w8, w1, lsl #1139 ldp x20, x19, [sp, #48]140 ldp x22, x21, [sp, #32]141 ldp x24, x23, [sp, #16]142 ldp x26, x25, [sp], #64143 ret144 .loh AdrpLdrGot Lloh0, Lloh1145 .cfi_endproc146 147 .globl _foo4148 .align 2149_foo4: ; @foo4150 .cfi_startproc151; %bb.0: ; %entry152 stp x28, x27, [sp, #-16]!153 sub sp, sp, #512 ; =#512154Ltmp12:155 .cfi_def_cfa_offset 528156Ltmp13:157 .cfi_offset w27, -16158Ltmp14:159 .cfi_offset w28, -24160 ; kill: def W0 killed W0 def X0161 mov x9, xzr162 ubfx x10, x0, #0, #32163 mov x8, sp164LBB3_1: ; %for.body165 ; =>This Inner Loop Header: Depth=1166 add w11, w10, w9167 str w11, [x8, x9, lsl #2]168 add x9, x9, #1 ; =#1169 cmp w9, #128 ; =#128170 b.ne LBB3_1171; %bb.2: ; %for.cond2.preheader172 mov x9, xzr173 mov w0, wzr174 add x8, x8, w5, sxtw #2175LBB3_3: ; %for.body4176 ; =>This Inner Loop Header: Depth=1177 ldr w10, [x8, x9]178 add x9, x9, #4 ; =#4179 cmp w9, #512 ; =#512180 add w0, w10, w0181 b.ne LBB3_3182; %bb.4: ; %for.end11183 add sp, sp, #512 ; =#512184 ldp x28, x27, [sp], #16185 ret186 .cfi_endproc187 188 .comm _bar,4,2 ; @bar189 190.subsections_via_symbols191