50 lines · plain
1## Verifies that llvm-bolt updates CFI correctly after2## shrink-wrapping when optimizing a function without3## frame pointers.4 5RUN: %clangxx %cxxflags -no-pie %S/Inputs/exc4sw.S -o %t.exe -Wl,-q6RUN: llvm-bolt %t.exe -o %t --relocs --frame-opt=all \7RUN: --print-only=main --print-cfg \8RUN: --data=%p/Inputs/exc4sw.fdata --reorder-blocks=cache 2>&1 | \9RUN: FileCheck %s --check-prefix=CHECK-BOLT10 11RUN: llvm-nm --numeric-sort %t.exe | grep main | tail -n 1 | \12RUN: cut -f1 -d' ' | tail -c9 > %t.input_address13RUN: llvm-objdump --dwarf=frames %t.exe | grep -A20 -f %t.input_address \14RUN: 2>&1 | FileCheck %s --check-prefix=CHECK-INPUT15 16RUN: llvm-nm --numeric-sort %t | grep main | tail -n 1 | \17RUN: cut -f1 -d' ' | tail -c9 > %t.output_address18RUN: llvm-objdump --dwarf=frames %t | grep -A20 -f %t.output_address \19RUN: 2>&1 | FileCheck %s --check-prefix=CHECK-OUTPUT20 21CHECK-BOLT: Extern Entry Count: 10022CHECK-BOLT: Shrink wrapping moved 2 spills inserting load/stores and 0 spills inserting push/pops23 24CHECK-INPUT: DW_CFA_advance_loc: 225CHECK-INPUT-NEXT: DW_CFA_def_cfa_offset: +1626CHECK-INPUT-NEXT: DW_CFA_offset: reg13 -1627CHECK-INPUT-NEXT: DW_CFA_advance_loc: 228CHECK-INPUT-NEXT: DW_CFA_def_cfa_offset: +2429CHECK-INPUT-NEXT: DW_CFA_offset: reg12 -2430CHECK-INPUT-NEXT: DW_CFA_advance_loc: 131CHECK-INPUT-NEXT: DW_CFA_def_cfa_offset: +3232CHECK-INPUT-NEXT: DW_CFA_offset: reg6 -3233CHECK-INPUT-NEXT: DW_CFA_advance_loc: 634CHECK-INPUT-NEXT: DW_CFA_def_cfa_offset: +4035CHECK-INPUT-NEXT: DW_CFA_offset: reg3 -4036CHECK-INPUT-NEXT: DW_CFA_advance_loc: 637CHECK-INPUT-NEXT: DW_CFA_def_cfa_offset: +4838 39CHECK-OUTPUT: DW_CFA_advance_loc: 440CHECK-OUTPUT-NEXT: DW_CFA_def_cfa_offset: +1641CHECK-OUTPUT-NEXT: DW_CFA_def_cfa_offset: +2442CHECK-OUTPUT-NEXT: DW_CFA_advance_loc: 143CHECK-OUTPUT-NEXT: DW_CFA_def_cfa_offset: +3244CHECK-OUTPUT-NEXT: DW_CFA_offset: reg6 -3245CHECK-OUTPUT-NEXT: DW_CFA_advance_loc: 646CHECK-OUTPUT-NEXT: DW_CFA_def_cfa_offset: +4047CHECK-OUTPUT-NEXT: DW_CFA_offset: reg3 -4048CHECK-OUTPUT-NEXT: DW_CFA_advance_loc: 649CHECK-OUTPUT-NEXT: DW_CFA_def_cfa_offset: +4850