| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[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] Support multiple parents for split jump table There are two assumptions regarding jump table: (a) It is accessed by only one fragment, say, Parent (b) All entries target instructions in Parent For (a), BOLT stores jump table entries as relative offset to Parent. For (b), BOLT treats jump table entries target somewhere out of Parent as INVALID_OFFSET, including fragment of same split function. In this update, we extend (a) and (b) to include fragment of same split functinon. For (a), we store jump table entries in absolute offset instead. In addition, jump table will store all fragments that access it. A fragment uses this information to only create label for jump table entries that target to that fragment. For (b), using absolute offset allows jump table entries to target fragments of same split function, i.e., extend support for split jump table. This can be done using relocation (fragment start/size) and fragment detection heuristics (e.g., using symbol name pattern for non-stripped binaries). For jump table targets that can only be reached by one fragment, we mark them as local label; otherwise, they would be the secondary function entry to the target fragment. Test Plan ninja check-bolt Reviewed By: Amir Differential Revision: https://reviews.llvm.org/D128474 | 3 年前 | |
[bolt] Remove unneeded cl::ZeroOrMore for cl::opt options | 3 年前 | |
[BOLT] Add function layout class This patch adds a dedicated class to keep track of each function's layout. It also lays the groundwork for splitting functions into multiple fragments (as opposed to a strict hot/cold split). Reviewed By: maksfb Differential Revision: https://reviews.llvm.org/D129518 | 3 年前 | |
[BOLT] Add function layout class This patch adds a dedicated class to keep track of each function's layout. It also lays the groundwork for splitting functions into multiple fragments (as opposed to a strict hot/cold split). Reviewed By: maksfb Differential Revision: https://reviews.llvm.org/D129518 | 3 年前 | |
[BOLT][NFC] Add aliases for ICP flags - indirect-call-promotion -> icp - indirect-call-promotion-mispredict-threshold -> icp-mp-threshold - indirect-call-promotion-use-mispredicts -> icp-use-mp - indirect-call-promotion-topn -> icp-topn - indirect-call-promotion-calls-topn -> icp-calls-topn - indirect-call-promotion-jump-tables-topn -> icp-jt-topn - icp-jump-table-targets -> icp-jt-targets This also fixes an inconsistency in ICP flag names that some start with indirect-call-promotion while others start with icp. Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D128375 | 3 年前 | |
[MC] De-capitalize SwitchSection. NFC Add SwitchSection to return switchSection. The API will be removed soon. | 3 年前 | |
[BOLT] Add function layout class This patch adds a dedicated class to keep track of each function's layout. It also lays the groundwork for splitting functions into multiple fragments (as opposed to a strict hot/cold split). Reviewed By: maksfb Differential Revision: https://reviews.llvm.org/D129518 | 3 年前 | |
[BOLT] Use Optional::emplace to avoid move assignment. NFC (cherry picked from commit 53113515cdaa19a86e4b807808b7b99dc1c91685) | 3 年前 | |
[BOLT] Add function layout class This patch adds a dedicated class to keep track of each function's layout. It also lays the groundwork for splitting functions into multiple fragments (as opposed to a strict hot/cold split). Reviewed By: maksfb Differential Revision: https://reviews.llvm.org/D129518 | 3 年前 | |
[BOLT] Add function layout class This patch adds a dedicated class to keep track of each function's layout. It also lays the groundwork for splitting functions into multiple fragments (as opposed to a strict hot/cold split). Reviewed By: maksfb Differential Revision: https://reviews.llvm.org/D129518 | 3 年前 | |
[BOLT] Add function layout class This patch adds a dedicated class to keep track of each function's layout. It also lays the groundwork for splitting functions into multiple fragments (as opposed to a strict hot/cold split). Reviewed By: maksfb Differential Revision: https://reviews.llvm.org/D129518 | 3 年前 | |
[BOLT] Support multiple parents for split jump table There are two assumptions regarding jump table: (a) It is accessed by only one fragment, say, Parent (b) All entries target instructions in Parent For (a), BOLT stores jump table entries as relative offset to Parent. For (b), BOLT treats jump table entries target somewhere out of Parent as INVALID_OFFSET, including fragment of same split function. In this update, we extend (a) and (b) to include fragment of same split functinon. For (a), we store jump table entries in absolute offset instead. In addition, jump table will store all fragments that access it. A fragment uses this information to only create label for jump table entries that target to that fragment. For (b), using absolute offset allows jump table entries to target fragments of same split function, i.e., extend support for split jump table. This can be done using relocation (fragment start/size) and fragment detection heuristics (e.g., using symbol name pattern for non-stripped binaries). For jump table targets that can only be reached by one fragment, we mark them as local label; otherwise, they would be the secondary function entry to the target fragment. Test Plan ninja check-bolt Reviewed By: Amir Differential Revision: https://reviews.llvm.org/D128474 | 3 年前 | |
[BOLT] Split functions with exceptions in shared objects and PIEs Add functionality to allow splitting code with C++ exceptions in shared libraries and PIEs. To overcome a limitation in exception ranges format, for functions with fragments spanning multiple sections, add trampoline landing pads in the same section as the corresponding throwing range. Reviewed By: Amir Differential Revision: https://reviews.llvm.org/D127936 | 3 年前 | |
[BOLT][NFC] Fix file-description comments Summary: Fix comments at the start of source files. (cherry picked from FBD33274597) | 4 年前 | |
Revert "Rebase: [Facebook] Revert "[BOLT] Update dynamic relocations from section relocations"" This reverts commit 76029cc53e838e6d86b13b0c39152f474fb09263. | 3 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 4 年前 | ||
| 3 年前 |