[all-commits] [llvm/llvm-project] 8e95c3: [BOLT][AArch64] Implement PLTCall optimization
Paschalis Mpeis via All-commits
all-commits at lists.llvm.org
Tue May 28 10:35:52 PDT 2024
Branch: refs/heads/users/paschalis-mpeis/bolt-plt-call-opt
Home: https://github.com/llvm/llvm-project
Commit: 8e95c340e398cd9d1f597eae1ca3820d4e93be36
https://github.com/llvm/llvm-project/commit/8e95c340e398cd9d1f597eae1ca3820d4e93be36
Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
Date: 2024-05-28 (Tue, 28 May 2024)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Passes/PLTCall.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
A bolt/test/AArch64/plt-call.test
A bolt/test/Inputs/plt-tailcall.c
Log Message:
-----------
[BOLT][AArch64] Implement PLTCall optimization
`convertCallToIndirectCall` applies the PLTCall optimization and returns
an (updated if needed) iterator to the converted call instruction.
Since AArch64 requires to inject additional instructions to implement this
pass, the relevant BasicBlock and an iterator was passed to the
`convertCallToIndirectCall`.
`NumCallsOptimized` is updated only on successful application of the pass.
Tests:
- Inputs/plt-tailcall.c: an example of a tail call optimized PLT call.
- AArch64/plt-call.test: it is the actual A64 test, that runs the PLTCall
optimization on the above input file and verifies the application of
the pass to the calls: 'printf' and 'puts'.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list