brintos

brintos / llvm-project-archived public Read only

0
0
Text · 990 B · 450c763 Raw
43 lines · plain
1// RUN: %clang %cflags -o %t %s2// RUN: llvm-bolt --print-cfg --print-only=_start -o %t.null %t \3// RUN:    | FileCheck %s4 5  .data6  .globl d7  .p2align 38d:9  .dword 010 11  .text12  .globl _start13  .p2align 114// CHECK-LABEL: Binary Function "_start" after building cfg {15_start:16/// The local label is used for %pcrel_lo as well as a jump target so a new17/// basic block should start there.18// CHECK-LABEL: {{^}}.LBB0019// CHECK: nop20// CHECK-LABEL: {{^}}.Ltmp021// CHECK: auipc t0, %pcrel_hi(d) # Label: .Ltmp122// CHECK-NEXT: ld t0, %pcrel_lo(.Ltmp1)(t0)23// CHECK-NEXT: j .Ltmp024  nop251:26  auipc t0, %pcrel_hi(d)27  ld t0, %pcrel_lo(1b)(t0)28  j 1b29 30/// The local label is used only for %pcrel_lo so no new basic block should31/// start there.32// CHECK-LABEL: {{^}}.LFT033// CHECK: nop34// CHECK-NEXT: auipc t0, %pcrel_hi(d) # Label: .Ltmp235// CHECK-NEXT: ld t0, %pcrel_lo(.Ltmp2)(t0)36// CHECK-NEXT: ret37  nop381:39  auipc t0, %pcrel_hi(d)40  ld t0, %pcrel_lo(1b)(t0)41  ret42  .size _start, .-_start43