[llvm-dev] How parameter passing registers are used intelligently?

Krzysztof Parzyszek via llvm-dev llvm-dev at lists.llvm.org
Tue Jan 31 07:37:11 PST 2017


On 1/31/2017 5:19 AM, vivek pandya via llvm-dev wrote:
> So AllocationOrder class can provide as a hint register which could have
> been
> used for parameter passing. But register allocators should be able to
> use them
> when they are free i.e not used for conventional usage.
>
> So how does LLVM register allocators take care of such situations?
> Please also suggest the location of the code which is responsible for
> such logic
> if any.

The parameter registers are explicitly set/used in the code, and so they 
will be accounted for while calculating liveness information.  Register 
allocators use that information to make allocation decisions, and so 
they don't need to be explicitly aware of calling conventions.

-Krzysztof

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, 
hosted by The Linux Foundation


More information about the llvm-dev mailing list