[all-commits] [llvm/llvm-project] a13bc9: [BOLT][AArch64] Implement PLTCall optimization (#9...

Paschalis Mpeis via All-commits all-commits at lists.llvm.org
Tue Jun 11 11:21:32 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a13bc9714a6bfb766693aa7900217f6f9be6f25d
      https://github.com/llvm/llvm-project/commit/a13bc9714a6bfb766693aa7900217f6f9be6f25d
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2024-06-11 (Tue, 11 Jun 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
    A bolt/test/X86/plt-call.test

  Log Message:
  -----------
  [BOLT][AArch64] Implement PLTCall optimization (#93584)

`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