[llvm-dev] Can we get interprocedural register allocation work across module boundary?

vivek pandya via llvm-dev llvm-dev at lists.llvm.org
Tue Jul 5 09:28:52 PDT 2016

Hello Mentors,

I have a very naive idea to get IPRA woking at link time and thus extending
its scope to intermodule. I seek some help if it seems to be a feasible

So idea is to take advantage of LTO's capability to work with bit code
files. LTO can optimize number of bitcode files and combine them into a big
module. LTO then generates native code for the big module.

So does it seem feasible to have clang generates bit code files for the
source code and then combine then with LTO and LTOCodeGenerater will use
current IPRA infrastructure, so IPRA will be improved as now it can
propagate actual regmask for procedures define in other modules (not
system/external library calls).  If this is possible then one problem I can
sense is requirement of huge memory to hold a big module for large

If this idea seems feasible please help me to shape a concrete work plan on

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160705/865cb29a/attachment.html>

More information about the llvm-dev mailing list