Colin McEwan via llvm-dev
2021-Nov-30 15:26 UTC
[llvm-dev] Function register clobber propagation
Hi all, Does LLVM currently have any way to exploit known register usage of already-compiled callee functions within a module to reduce register pressure in calling functions? GCC does this, but I haven't seen any sign of this being done (having checked on a couple of different target architectures), and can't find any mention of such optimisation in the source. Have I overlooked something? Or is there a rationale for not attempting this? (Such as limiting potential parallelism in compiling a module) Thanks! -- Colin -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211130/61f9bbdb/attachment.html>
Jason Eckhardt via llvm-dev
2021-Nov-30 17:01 UTC
[llvm-dev] Function register clobber propagation
There is at least some minimal support for this, see CodeGen/RegUsageInfoPropagate.cpp (and related). This interprocedural register allocation is enabled with "-enable-ipra". ________________________________ From: llvm-dev <llvm-dev-bounces at lists.llvm.org> on behalf of Colin McEwan via llvm-dev <llvm-dev at lists.llvm.org> Sent: Tuesday, November 30, 2021 9:26 AM To: llvm-dev at lists.llvm.org <llvm-dev at lists.llvm.org> Subject: [llvm-dev] Function register clobber propagation External email: Use caution opening links or attachments Hi all, Does LLVM currently have any way to exploit known register usage of already-compiled callee functions within a module to reduce register pressure in calling functions? GCC does this, but I haven’t seen any sign of this being done (having checked on a couple of different target architectures), and can’t find any mention of such optimisation in the source. Have I overlooked something? Or is there a rationale for not attempting this? (Such as limiting potential parallelism in compiling a module) Thanks! -- Colin ************* MEDIATEK Confidentiality Notice ******************** The information contained in this e-mail message (including any attachments) may be confidential, proprietary, privileged, or otherwise exempt from disclosure under applicable laws. It is intended to be conveyed only to the designated recipient(s). Any use, dissemination, distribution, printing, retaining or copying of this e-mail (including its attachments) by unintended recipient(s) is strictly prohibited and may be unlawful. If you are not an intended recipient of this e-mail, or believe that you have received this e-mail in error, please notify the sender immediately (by replying to this e-mail), delete any and all copies of this e-mail (including any attachments) from your system, and do not disclose the content of this e-mail to any other person. Thank you! -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211130/6e894c71/attachment-0001.html>