
This patch removes all uses of %T from lit tests within bolt/. %T has been listed as deprecated for ~7 years and should not be used given it is not unique per test which means tests that use the same filenames can race.
63 lines
2.3 KiB
ArmAsm
63 lines
2.3 KiB
ArmAsm
## Checks debug fission support in BOLT
|
|
|
|
# REQUIRES: system-linux
|
|
|
|
# RUN: llvm-mc -g \
|
|
# RUN: --filetype=obj \
|
|
# RUN: --triple x86_64-unknown-unknown \
|
|
# RUN: --split-dwarf-file=debug-fission-simple.dwo \
|
|
# RUN: %p/Inputs/debug-fission-simple.s \
|
|
# RUN: -o %t.o
|
|
# RUN: %clangxx %cxxflags -no-pie -g \
|
|
# RUN: -Wl,--gc-sections,-q,-nostdlib \
|
|
# RUN: -Wl,--undefined=_Z6_startv \
|
|
# RUN: -nostartfiles \
|
|
# RUN: -Wl,--script=%p/Inputs/debug-fission-script.txt \
|
|
# RUN: %t.o -o %t.exe
|
|
# RUN: mkdir -p %t.dwarf-output
|
|
# RUN: llvm-bolt %t.exe \
|
|
# RUN: --reorder-blocks=reverse \
|
|
# RUN: --update-debug-sections \
|
|
# RUN: --dwarf-output-path=%t.dwarf-output \
|
|
# RUN: -o %t.bolt.1.exe 2>&1 | FileCheck %s
|
|
# RUN: llvm-dwarfdump --show-form --verbose --debug-ranges %t.bolt.1.exe &> %tAddrIndexTest
|
|
# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.dwarf-output/debug-fission-simple.dwo0.dwo >> %tAddrIndexTest
|
|
# RUN: cat %tAddrIndexTest | FileCheck %s --check-prefix=CHECK-DWO-DWO
|
|
# RUN: llvm-dwarfdump --show-form --verbose --debug-addr %t.bolt.1.exe | FileCheck %s --check-prefix=CHECK-ADDR-SEC
|
|
|
|
# CHECK-NOT: warning: DWARF unit from offset {{.*}} incl. to offset {{.*}} excl. tries to read DIEs at offset {{.*}}
|
|
|
|
# CHECK-DWO-DWO: 00000010
|
|
# CHECK-DWO-DWO: 00000010
|
|
# CHECK-DWO-DWO: DW_TAG_subprogram
|
|
# CHECK-DWO-DWO-NEXT: DW_AT_low_pc [DW_FORM_GNU_addr_index] (indexed (00000001)
|
|
# CHECK-DWO-DWO-NEXT: DW_AT_high_pc [DW_FORM_data4] (0x00000031)
|
|
# CHECK-DWO-DWO: DW_TAG_subprogram
|
|
# CHECK-DWO-DWO-NEXT: DW_AT_low_pc [DW_FORM_GNU_addr_index] (indexed (00000002)
|
|
# CHECK-DWO-DWO-NEXT: DW_AT_high_pc [DW_FORM_data4] (0x00000012)
|
|
# CHECK-DWO-DWO: DW_TAG_subprogram
|
|
# CHECK-DWO-DWO-NEXT: DW_AT_low_pc [DW_FORM_GNU_addr_index] (indexed (00000003)
|
|
# CHECK-DWO-DWO-NEXT: DW_AT_high_pc [DW_FORM_data4] (0x0000001d)
|
|
|
|
# CHECK-ADDR-SEC: .debug_addr contents:
|
|
# CHECK-ADDR-SEC: 0x00000000: Addrs: [
|
|
# CHECK-ADDR-SEC: 0x0000000000601000
|
|
|
|
//clang++ -ffunction-sections -fno-exceptions -g -gsplit-dwarf=split -S debug-fission-simple.cpp -o debug-fission-simple.s
|
|
static int foo = 2;
|
|
int doStuff(int val) {
|
|
if (val == 5)
|
|
val += 1 + foo;
|
|
else
|
|
val -= 1;
|
|
return val;
|
|
}
|
|
|
|
int doStuff2(int val) {
|
|
return val += 3;
|
|
}
|
|
|
|
int main(int argc, const char** argv) {
|
|
return doStuff(argc);
|
|
}
|