| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[BOLT] Remove unused local variables (NFC) (#140421) While I'm at it, this patch removes GetExecutablePath, which becomes unused after removing the sole use. | 1 年前 | |
[BOLT] Only link and initialize supported targets (#127509) Bolt currently links and initializes all LLVM targets. This substantially increases the binary size, and link time if LTO is used. Instead, only link the targets specified by BOLT_TARGETS_TO_BUILD. We also have to only initialize those targets, so generate a TargetConfig.def file with the necessary information. The way the initialization is done mirrors what llvm-exegesis does. This reduces llvm-bolt size from 137MB to 78MB for me. | 1 年前 | |
[BOLT][AArch64] Add support for SPE brstack format (#129231) Since Linux 6.14, Perf gained the ability to report SPE branch events using the brstack format, which matches the layout of LBR/BRBE. This patch reuses the existing LBR parsing logic to support SPE. Example SPE brstack format: bash perf script -i perf.data -F pid,brstack --itrace=bl PID FROM / TO / PREDICTED 16984 0x72e342e5f4/0x72e36192d0/M/-/-/11/RET/- 16984 0x72e7b8b3b4/0x72e7b8b3b8/PN/-/-/11/COND/- 16984 0x72e7b92b48/0x72e7b92b4c/PN/-/-/8/COND/- 16984 0x72eacc6b7c/0x760cc94b00/P/-/-/9/RET/- 16984 0x72e3f210fc/0x72e3f21068/P/-/-/4//- 16984 0x72e39b8c5c/0x72e3627b24/P/-/-/4//- 16984 0x72e7b89d20/0x72e7b92bbc/P/-/-/4/RET/- SPE brstack flags can be two characters long: PN or MN: - P = predicted branch - M = mispredicted branch - N = optionally appears when the branch is NOT-TAKEN - flag is relevant only to conditional branches Example of usage with BOLT: 1. Capture SPE branch events: bash perf record -e 'arm_spe_0/branch_filter=1/u' -- binary 2. Convert profile for BOLT: bash perf2bolt -p perf.data -o perf.fdata --spe binary 3. Run BOLT Optimization: bash llvm-bolt binary -o binary.bolted --data perf.fdata ... A unit test verifies the parsing of the 'SPE brstack format'. --------- Co-authored-by: Paschalis Mpeis <paschalis.mpeis@arm.com> | 1 年前 | |
[BOLT][NFC] Use brstack in guides and user outputs (#163950) Update guides to use brstack, with a mention to BRBE for AArch64. Use brstack in user-facing outputs. --------- Co-authored-by: Amir Ayupov <aaupov@fb.com> | 9 个月前 | |
[BOLT] Only link and initialize supported targets (#127509) Bolt currently links and initializes all LLVM targets. This substantially increases the binary size, and link time if LTO is used. Instead, only link the targets specified by BOLT_TARGETS_TO_BUILD. We also have to only initialize those targets, so generate a TargetConfig.def file with the necessary information. The way the initialization is done mirrors what llvm-exegesis does. This reduces llvm-bolt size from 137MB to 78MB for me. | 1 年前 | |
[BOLT][NFC] Use brstack in guides and user outputs (#163950) Update guides to use brstack, with a mention to BRBE for AArch64. Use brstack in user-facing outputs. --------- Co-authored-by: Amir Ayupov <aaupov@fb.com> | 9 个月前 | |
[BOLT] Introduce binary analysis tool based on BOLT (#115330) This initial commit does not add any specific binary analyses yet, it merely contains the boilerplate to introduce a new BOLT-based tool. This basically combines the 4 first patches from the prototype pac-ret and stack-clash binary analyzer discussed in RFC https://discourse.llvm.org/t/rfc-bolt-based-binary-analysis-tool-to-verify-correctness-of-security-hardening/78148 and published at https://github.com/llvm/llvm-project/compare/main...kbeyls:llvm-project:bolt-gadget-scanner-prototype The introduction of such a BOLT-based binary analysis tool was proposed and discussed in at least the following places: - The RFC pointed to above - EuroLLVM 2024 round table https://discourse.llvm.org/t/summary-of-bolt-as-a-binary-analysis-tool-round-table-at-eurollvm/78441 The round table showed quite a few people interested in being able to build a custom binary analysis quickly with a tool like this. - Also at the US LLVM dev meeting a few weeks ago, I heard interest from a few people, asking when the tool would be available upstream. - The presentation "Adding Pointer Authentication ABI support for your ELF platform" (https://llvm.swoogo.com/2024devmtg/session/2512720/adding-pointer-authentication-abi-support-for-your-elf-platform) explicitly mentioned interest to extend the prototype tool to verify correct implementation of pauthabi. | 1 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 1 年前 |