| /llvm-project-15.0.7/bolt/test/X86/ |
| H A D | dwarf5-df-mono-dualcu.test | 29 ; BOLT: Addrs: [ 30 ; BOLT-NEXT: 0x 31 ; BOLT-NEXT: 0x 33 ; BOLT-NEXT: 0x 35 ; BOLT: Addrs: [ 41 ; BOLT-NEXT: [0x[[#ADDR]] 55 ; BOLT: DW_TAG_variable 57 ; BOLT-NEXT: DW_AT_type 62 ; BOLT: DW_TAG_variable 64 ; BOLT-NEXT: DW_AT_type [all …]
|
| H A D | dwarf4-df-dualcu.test | 26 ; PRE-BOLT: version = 0x0004 31 ; PRE-BOLT-NEXT: Compile 32 ; PRE-BOLT: version = 0x0004 38 ; BOLT: .debug_ranges 52 ; BOLT: DW_TAG_compile_unit 54 ; BOLT-NEXT: DW_AT_GNU_dwo_id 61 ; BOLT-NEXT: Compile 62 ; BOLT: DW_TAG_compile_unit 64 ; BOLT-NEXT: DW_AT_GNU_dwo_id 118 ; BOLT-DWO-MAIN-NEXT: ) [all …]
|
| H A D | dwarf5-df-dualcu.test | 22 ; PRE-BOLT: version = 0x0005 28 ; BOLT: Addrs: [ 29 ; BOLT-NEXT: 0x 30 ; BOLT-NEXT: 0x 32 ; BOLT-NEXT: 0x 34 ; BOLT: Addrs: [ 35 ; BOLT-NEXT: 0x 36 ; BOLT-NEXT: 0x 42 ; BOLT-NEXT: [0x[[#ADDR]] 44 ; BOLT-NEXT: [0x[[#ADDR2]] [all …]
|
| H A D | dwarf5-locaddrx.test | 18 ; PRE-BOLT: version = 0x0005 24 ; BOLT: Addrs: [ 25 ; BOLT-NEXT: 0x 26 ; BOLT-NEXT: 0x 27 ; BOLT-NEXT: 0x[[#%.16x,ADDR:]] 28 ; BOLT-NEXT: 0x 30 ; BOLT: DW_TAG_skeleton_unit 33 ; BOLT-NEXT: [0x[[#ADDR]] 35 ; BOLT-NEXT: [0x[[#ADDR2]] 66 ; BOLT-DWO-NEXT: DW_AT_type [all …]
|
| H A D | dwarf5-df-dualcu-loclist.test | 17 ; PRE-BOLT-DWO-MAIN: version = 0x0005 18 ; PRE-BOLT-DWO-MAIN: DW_TAG_formal_parameter [10] 20 ; PRE-BOLT-DWO-MAIN-NEXT: DW_LLE_base_addressx (0x0000000000000002) 23 ; PRE-BOLT-DWO-MAIN: DW_TAG_formal_parameter [10] 29 ; BOLT-DWO-MAIN: version = 0x0005 30 ; BOLT-DWO-MAIN: DW_TAG_formal_parameter [10] 34 ; BOLT-DWO-MAIN: DW_TAG_formal_parameter [10] 40 ; PRE-BOLT-DWO-HELPER: version = 0x0005 41 ; PRE-BOLT-DWO-HELPER: DW_TAG_formal_parameter [5] 47 ; BOLT-DWO-HELPER: version = 0x0005 [all …]
|
| H A D | dwarf4-df-dualcu-loclist.test | 17 ; PRE-BOLT-DWO-MAIN: version = 0x0004 18 ; PRE-BOLT-DWO-MAIN: DW_TAG_formal_parameter [10] 22 ; PRE-BOLT-DWO-MAIN: DW_TAG_formal_parameter [10] 27 ; BOLT-DWO-MAIN: version = 0x0004 28 ; BOLT-DWO-MAIN: DW_TAG_formal_parameter [10] 29 ; BOLT-DWO-MAIN-NEXT: DW_AT_location [DW_FORM_sec_offset] (0x00000010: 32 ; BOLT-DWO-MAIN: DW_TAG_formal_parameter [10] 38 ; PRE-BOLT-DWO-HELPER: version = 0x0004 39 ; PRE-BOLT-DWO-HELPER: DW_TAG_formal_parameter [5] 44 ; BOLT-DWO-HELPER: version = 0x0004 [all …]
|
| H A D | gotpcrelx.s | 14 # RUN: |& FileCheck --check-prefix=BOLT %s 32 # NO-RELAX-BOLT: callq *{{.*}}(%rip) 33 # BOLT: callq foo 34 # PIE-BOLT: callq foo 38 # NO-RELAX-BOLT-NEXT: movq {{.*}}(%rip), %rdi 39 # BOLT-NEXT: leaq foo(%rip), %rdi 40 # PIE-BOLT-NEXT: leaq foo(%rip), %rdi 51 # BOLT-NEXT: testq $foo, %rdi 57 # BOLT-NEXT: cmpq $foo, %rax 63 # BOLT-NEXT: jmp foo [all …]
|
| H A D | dwarf4-ftypes-dwo-input-dwp-output.test | 16 ; PRE-BOLT: DW_TAG_type_unit 17 ; PRE-BOLT: DW_TAG_type_unit 20 ; PRE-BOLT-DWP-TU-INDEX: Index Signature 21 ; PRE-BOLT-DWP-TU-INDEX: 0x675d23e4f33235f2 22 ; PRE-BOLT-DWP-TU-INDEX-NEXT: 0x49dc260088be7e56 24 ; BOLT: DW_TAG_type_unit 25 ; BOLT: DW_TAG_type_unit 27 ; BOLT-DWP-TU-INDEX: version = 2, units = 2, slots = 4 28 ; BOLT-DWP-TU-INDEX: Index Signature 29 ; BOLT-DWP-TU-INDEX: 0x675d23e4f33235f2 [all …]
|
| H A D | dwarf4-ftypes-dwp-input-dwp-output.test | 18 ; PRE-BOLT: DW_TAG_type_unit 19 ; PRE-BOLT: DW_TAG_type_unit 22 ; PRE-BOLT-DWP-TU-INDEX: Index Signature 23 ; PRE-BOLT-DWP-TU-INDEX: 0x675d23e4f33235f2 24 ; PRE-BOLT-DWP-TU-INDEX-NEXT: 0x49dc260088be7e56 26 ; BOLT: DW_TAG_type_unit 27 ; BOLT: DW_TAG_type_unit 29 ; BOLT-DWP-TU-INDEX: version = 2, units = 2, slots = 4 30 ; BOLT-DWP-TU-INDEX: Index Signature 31 ; BOLT-DWP-TU-INDEX: 0x675d23e4f33235f2 [all …]
|
| H A D | dwarf5-ftypes-dwp-input-dwo-output.test | 9 …lvm-dwarfdump --show-form --verbose --debug-info main.exe.dwp | FileCheck -check-prefix=PRE-BOLT %s 12 …N: llvm-dwarfdump --show-form --verbose --debug-info main.dwo.dwo | FileCheck -check-prefix=BOLT %s 17 ; PRE-BOLT: DW_TAG_type_unit 18 ; PRE-BOLT: DW_TAG_type_unit 20 ; PRE-BOLT-DWP-TU-INDEX: version = 5, units = 2, slots = 4 21 ; PRE-BOLT-DWP-TU-INDEX: Index Signature 22 ; PRE-BOLT-DWP-TU-INDEX: 0x675d23e4f33235f2 23 ; PRE-BOLT-DWP-TU-INDEX-NEXT: 0x49dc260088be7e56 25 ; BOLT: DW_TAG_type_unit 26 ; BOLT: DW_TAG_type_unit [all …]
|
| H A D | dwarf4-ftypes-dwp-input-dwo-output.test | 9 …vm-dwarfdump --show-form --verbose --debug-types main.exe.dwp | FileCheck -check-prefix=PRE-BOLT %s 10 …how-form --verbose --debug-tu-index main.exe.dwp | FileCheck -check-prefix=PRE-BOLT-DWP-TU-INDEX %s 12 …: llvm-dwarfdump --show-form --verbose --debug-types main.dwo.dwo | FileCheck -check-prefix=BOLT %s 17 ; PRE-BOLT: DW_TAG_type_unit 18 ; PRE-BOLT: DW_TAG_type_unit 20 ; PRE-BOLT-DWP-TU-INDEX: version = 2, units = 2, slots = 4 21 ; PRE-BOLT-DWP-TU-INDEX: Index Signature 22 ; PRE-BOLT-DWP-TU-INDEX: 0x675d23e4f33235f2 23 ; PRE-BOLT-DWP-TU-INDEX-NEXT: 0x49dc260088be7e56 25 ; BOLT: DW_TAG_type_unit [all …]
|
| H A D | double-rel.s | 1 ## Check that BOLT can correctly use relocations to symbolize instruction 10 # RUN: | FileCheck %s --check-prefix=CHECK-BOLT 29 # CHECK-BOLT: movq $VAR, 0x80000 33 # CHECK-BOLT-NEXT: movq $0x80000, VAR 37 # CHECK-BOLT-NEXT: movq $VAR, VAR
|
| H A D | split-func-icf.s | 14 # CHECK-DAG: BOLT-INFO: marking main2.cold.1(*2) as a fragment of main 15 # CHECK-DAG: BOLT-INFO: marking main2.cold.1(*2) as a fragment of main2 18 # CHECK-DAG: BOLT-WARNING: Ignoring main2 19 # CHECK-DAG: BOLT-WARNING: Ignoring main 20 # CHECK-DAG: BOLT-WARNING: Ignoring main2.cold.1(*2) 21 # CHECK: BOLT-WARNING: skipped 3 functions due to cold fragments
|
| H A D | jump-table-icp.test | 21 BOLT-INFO: ICP total indirect callsites = 0 22 BOLT-INFO: ICP total jump table callsites = 2 23 BOLT-INFO: ICP total number of calls = 2137 24 BOLT-INFO: ICP percentage of calls that are indirect = 0.0% 25 BOLT-INFO: ICP percentage of indirect calls that can be optimized = 0.0% 26 BOLT-INFO: ICP percentage of indirect calls that are optimized = 0.0% 27 BOLT-INFO: ICP percentage of jump table calls that can be optimized = 17.7% 28 BOLT-INFO: ICP percentage of jump table calls that are optimized = 100.0%
|
| H A D | cmov-conversion.s | 10 # CHECK: BOLT-INFO: CMOVConversion: CmovInHotPath, converted static 1/1 11 # CHECK: BOLT-INFO: CMOVConversion: CmovNotInHotPath, converted static 1/1 12 # CHECK: BOLT-INFO: CMOVConversion: MaxIndex, converted static 1/1 13 # CHECK: BOLT-INFO: CMOVConversion: MaxIndex_unpredictable, converted static 1/1 14 # CHECK: BOLT-INFO: CMOVConversion: MaxValue, converted static 1/1 15 # CHECK: BOLT-INFO: CMOVConversion: BinarySearch, converted static 0/0 16 # CHECK: BOLT-INFO: CMOVConversion: Transform, converted static 0/0 17 # CHECK: BOLT-INFO: CMOVConversion: test_cmov_memoperand, converted static 0/0 25 # CHECK: BOLT-INFO: CMOVConversion: test_memoperand_loop, converted static 1/1 26 # CHECK: BOLT-INFO: CMOVConversion: CmovBackToBack, converted static 2/2 [all …]
|
| H A D | unreachable.test | 10 RUN: | FileCheck %s --check-prefix=BOLT 14 BOLT: BB Layout : .LBB{{.*}}, .LFT{{.*}}, .Ltmp{{.*}}, .LFT{{.*}}, .Ltmp{{.*}}, .Ltmp{{.*}}, .Ltm… 15 BOLT: BOLT-INFO: UCE removed 4 blocks and 16 bytes of code. 16 BOLT: BB Layout : .LBB{{.*}}, .Ltmp{{.*}}, .Ltmp{{.*}}, .Ltmp{{.*}}, .Ltmp{{.*}}, .LLP{{.*}}, .Lt…
|
| H A D | jump-table-move.s | 8 # CHECK: BOLT-INFO: marking main.cold.1 as a fragment of main 9 # CHECK: BOLT-WARNING: Ignoring main.cold.1 10 # CHECK: BOLT-WARNING: Ignoring main
|
| H A D | dwarf4-split-dwarf-no-address.test | 10 …: llvm-dwarfdump --show-form --verbose --debug-info main.exe.bolt | FileCheck -check-prefix=BOLT %s 14 ; BOLT: DW_TAG_compile_unit 15 ; BOLT: DW_TAG_compile_unit
|
| H A D | jump-table-reference.test | 1 # Verifies that BOLT detects fixed destination of indirect jump 6 CHECK: BOLT-INFO: fixed indirect branch detected in main
|
| /llvm-project-15.0.7/bolt/docs/ |
| H A D | doxygen-mainpage.dox | 1 /// \mainpage BOLT 4 /// Welcome to the BOLT project. 7 /// up BOLT, not the **external** use of BOLT. There are no instructions 8 /// here on how to use BOLT, only the APIs that make up the software. For 14 /// Since BOLT is constantly under active development, what you're about to
|
| H A D | OptimizingClang.md | 1 # Optimizing Clang : A Practical Example of Applying BOLT 5 *BOLT* (Binary Optimization and Layout Tool) is designed to improve the application 9 The most obvious candidates for BOLT optimizations 33 ## Optimizing Clang with BOLT 58 form suitable to be consumed by BOLT: 73 BOLT-INFO: enabling relocation mode 78 BOLT-INFO: basic block reordering modified layout of 7848 (10.32%) functions 125 but, as expected, the result is still slower than *PGO+LTO+BOLT* build. 167 using the `merge-fdata` utility that comes with BOLT. Optimized with that profile, the *PGO+LTO+BOL… 175 In this tutorial we demonstrated how to use BOLT to improve the [all …]
|
| /llvm-project-15.0.7/bolt/ |
| H A D | README.md | 1 # BOLT chapter 3 BOLT is a post-link optimizer developed to speed up large applications. 6 An overview of the ideas implemented in BOLT along with a discussion of its 16 BOLT disassembles functions and reconstructs the control flow graph (CFG) 49 Alternatively, you can build BOLT manually using the steps below. 70 ## Optimizing BOLT's Performance 88 For a complete practical guide of using BOLT see [Optimizing Clang with BOLT](docs/OptimizingClang.… 144 instrumenting the binary with BOLT and then running it. 153 Run BOLT with the `-help` option and check the category "BOLT instrumentation 156 ### Step 2: Convert Profile to BOLT Format [all …]
|
| H A D | CMakeLists.txt | 13 architecture for use in BOLT tests") 15 architecture for use in BOLT tests") 24 BOLT_CLANG_EXE will be used for BOLT tests.") 32 BOLT_LLD_EXE will be used for BOLT tests.") 41 message(WARNING "Not including BOLT tests since clang or lld is disabled. \ 48 message(STATUS "Building BOLT runtime libraries for X86") 85 option(BOLT_INCLUDE_DOCS "Generate build targets for the BOLT docs."
|
| /llvm-project-15.0.7/bolt/utils/ |
| H A D | bughunter.sh | 60 BOLT=${BOLT:=llvm-bolt} 116 ($BOLT $BOLT_OPTIONS $INPUT_BINARY -o $OPTIMIZED_BINARY >& $BOLT_LOG) 186 echo " BOLT: $BOLT $BOLT_OPTIONS $INPUT_BINARY $SEARCH_OPT -o $OPTIMIZED_BINARY >& $BOLT_LOG" 187 ($BOLT $BOLT_OPTIONS $INPUT_BINARY $SEARCH_OPT -o $OPTIMIZED_BINARY >& $BOLT_LOG) 261 echo "To reproduce, run: $BOLT $BOLT_OPTIONS $INPUT_BINARY $SEARCH_OPT -o $OPTIMIZED_BINARY"
|
| /llvm-project-15.0.7/bolt/test/ |
| H A D | CMakeLists.txt | 58 set_target_properties(bolt-test-depends PROPERTIES FOLDER "BOLT") 60 add_lit_testsuite(check-bolt "Running the BOLT regression tests" 66 set_target_properties(check-bolt PROPERTIES FOLDER "BOLT") 68 add_lit_testsuites(BOLT ${CMAKE_CURRENT_SOURCE_DIR}
|