66 lines · plain
1## Test that llvm-bolt detects internal calls and marks the containing function2## as non-simple.3 4# RUN: llvm-mc -filetype=obj -triple aarch64-unknown-unknown %s -o %t.o5# RUN: %clang %cflags %t.o -o %t.exe -Wl,-q -static6# RUN: llvm-bolt %t.exe -o %t.null --print-all 2>&1 | FileCheck %s7 8# CHECK: Binary Function "_start" after building cfg9# CHECK: internal call detected in function _start10# CHECK-NOT: Binary Function "_start" after validate-internal-calls11 12 .text13 .globl _start14 .type _start, %function15_start:16 .cfi_startproc17.LBB00:18 mov x11, #0x1fff19 cmp x1, x1120 b.hi .Ltmp121 22.entry1:23 movi v4.16b, #0x024 movi v5.16b, #0x025 subs x1, x1, #0x826 b.lo .Ltmp227 28.entry2:29 ld1 { v2.2d, v3.2d }, [x0], #3230 ld1 { v0.2d, v1.2d }, [x0], #3231 32.Ltmp2:33 uaddlp v4.4s, v4.8h34 uaddlp v4.2d, v4.4s35 mov x0, v4.d[0]36 mov x1, v4.d[1]37 add x0, x0, x138 ret x3039 40.Ltmp1:41 mov x8, x3042 43.Lloop:44 add x5, x0, x945 mov x1, #0xface46 movi v4.16b, #0x047 movi v5.16b, #0x048 bl .entry249 add x4, x4, x050 mov x0, x551 sub x7, x7, x1052 cmp x7, x1153 b.hi .Lloop54 55 mov x1, x756 bl .entry157 add x0, x4, x058 mov x30, x859 ret x3060 61 .cfi_endproc62.size _start, .-_start63 64## Force relocation mode.65 .reloc 0, R_AARCH64_NONE66