This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch 01/36] Hookize static chain and trampoline macros


In order to solve PR 41246, I need to have the location of the static chain be variable, based on the target nested function being called. Which requires that we pass around the FUNCTION_DECL when asking for the static_chain_rtx and when initializing the trampoline. I took the opportunity to hookize TRAMPOLINE_TEMPLATE and INITIALIZE_TRAMPOLINE at the same time. After all of the following series of patches is applied, it will be possible to poison these two macros and remove the fallback macro-to-hook adapter functions I added.

I've bootstrapped this on x86_64-linux, i686-linux.

I have built cc1 for every target and compared before-and-after assembly by eye. In most cases the assembly is not identical because I'm now properly filling in the MEM_ATTRS while initializing the trampoline, which leads to a fair bit of code movement at -O2.


r~

Attachment: d-tramp-01
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]