[LLVMdev] allocating registers less "sparingly"
evan.cheng at apple.com
Tue Nov 6 10:40:37 PST 2007
On Nov 6, 2007, at 9:09 AM, Christopher Lamb wrote:
> I'm only passingly familiar with the register allocator in LLVM, but
> I'd think that you could tweak it's allocation policy to allocate
> out of, say, sequential registers and only reuse registers with dead
> values once it runs out of completely empty ones. Is this what you
That will help. But it's not really a clean solution. A heuristic
based solution is never going to achieve the kind of balanced usage
On the other hand, repairing anti-dependencies is a well understood
problem and if it's implemented will bring a lot more benefits (e.g.
post allocation scheduling).
> Christopher Lamb
>> I can understand that for many architectures without static
>> scheduling etc.
>> the "allocate registers sparingly"-approach is the best one as it
>> might lead
>> to less context data to be saved in calls, etc., but in our case
>> the calls are
>> not usually the bottleneck as our target programs are at the moment
>> mainly DSP
>> kernels and multimedia codecs which are usually loop-oriented. In
>> LLVM seems to do an excellent job in inlining function calls.
>> I look forward to your replies.
>> The links:
>>  http://en.wikipedia.org/wiki/Transport_triggered_architecture
>>  http://tce.cs.tut.fi/papers/TCE_Overview.pdf
>> Best regards,
>> Pekka Jääskeläinen,
>> Researcher at Tampere Univ. of Technology, Finland.
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev