[llvm-dev] Function register clobber propagation

Jason Eckhardt via llvm-dev llvm-dev at lists.llvm.org
Tue Nov 30 09:01:29 PST 2021


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>


More information about the llvm-dev mailing list