[LLVMdev] allocating registers less "sparingly"
Evan Cheng
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
> want?
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
that's desired.
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).
Evan
>
> --
> 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
>> addition,
>> LLVM seems to do an excellent job in inlining function calls.
>>
>> I look forward to your replies.
>>
>> The links:
>>
>> [1] http://en.wikipedia.org/wiki/Transport_triggered_architecture
>> [2] 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
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20071106/d2fd74ed/attachment.html>
More information about the llvm-dev
mailing list