| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[BOLT] Use Optional::emplace to avoid move assignment. NFC (cherry picked from commit 53113515cdaa19a86e4b807808b7b99dc1c91685) | 3 年前 | |
[BOLT] Process each block only once in fixCFGForPIC Rather than iterating over the whole function from the start until no internal calls are found, process each block only once and continue processing after splitting. This version of the function also does not seemingly invalidate iterators from within the loop. Reviewed By: maksfb Differential Revision: https://reviews.llvm.org/D130436 | 3 年前 | |
[BOLT] Add support for the latest perf tool The latest perf tool can return non-empty buffer when executing buildid-list command, even when perf.data was recorded with -B flag. Some binaries will be listed without the ID, while others may have a recorded ID. Allow invalid entires on the input, while checking the valid ones for the match. Reviewed By: Amir Differential Revision: https://reviews.llvm.org/D130223 | 3 年前 | |
[BOLT] Support files with no symbols LastSymbol handling in discoverFileObjects assumes a non-zero number of symbols in an object file. It's not the case for broken_dynsym.test added in D130073, and potentially other stripped binaries. Reviewed By: maksfb Differential Revision: https://reviews.llvm.org/D130544 | 3 年前 | |
[BOLT][NFC] Use range-based STL wrappers Replace std:: algorithms taking begin/end iterators with llvm:: counterparts accepting ranges. Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D128154 | 3 年前 | |
[BOLT][AArch64] Handle gold linker veneers The gold linker veneers are written between functions without symbols, so we to handle it specially in BOLT. Vladislav Khmelevsky, Advanced Software Technology Lab, Huawei Differential Revision: https://reviews.llvm.org/D129260 | 3 年前 | |
[BOLT] Increase coverage of shrink wrapping [3/5] Add the option to run -equalize-bb-counts before shrink wrapping to avoid unnecessarily optimizing some CFGs where profile is inaccurate but we can prove two blocks have the same frequency. Reviewed By: Amir Differential Revision: https://reviews.llvm.org/D126113 | 3 年前 | |
Rebase: [NFC] Refactor sources to be buildable in shared mode Summary: Moves source files into separate components, and make explicit component dependency on each other, so LLVM build system knows how to build BOLT in BUILD_SHARED_LIBS=ON. Please use the -c merge.renamelimit=230 git option when rebasing your work on top of this change. To achieve this, we create a new library to hold core IR files (most classes beginning with Binary in their names), a new library to hold Utils, some command line options shared across both RewriteInstance and core IR files, a new library called Rewrite to hold most classes concerned with running top-level functions coordinating the binary rewriting process, and a new library called Profile to hold classes dealing with profile reading and writing. To remove the dependency from BinaryContext into X86-specific classes, we do some refactoring on the BinaryContext constructor to receive a reference to the specific backend directly from RewriteInstance. Then, the dependency on X86 or AArch64-specific classes is transfered to the Rewrite library. We can't have the Core library depend on targets because targets depend on Core (which would create a cycle). Files implementing the entry point of a tool are transferred to the tools/ folder. All header files are transferred to the include/ folder. The src/ folder was renamed to lib/. (cherry picked from FBD32746834) | 4 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 4 年前 |