[LLVMdev] Heads up: Local register allocator going away
Kalle.Raiskila at nokia.com
Kalle.Raiskila at nokia.com
Tue Jun 8 01:24:16 PDT 2010
On Fri, 2010-06-04 at 20:05 +0200, Jakob Stoklund Olesen wrote:
> You should fix SPUTargetLowering::LowerCall to make sure there is an unbroken chain of flag ties between CopyFromReg and BRASL. At least ARM, MBlaze, and Blackfin are doing this, if you need example code.
>
Thanks for the tip. This got fixed in 105601.
And with that, half of the problematic tests appearing with
--regalloc=fast flag started working. Unfortunately the second half
started to miscompile :(
Also, I now see some rather unoptimal code, e.g:
...
brasl $lr, extFunc
lr $3, $3
lr $3, $3
...
('lr rt, ra' moves ra->rt). I guess the miscompilations are due to the
same problem as this sort of stuff gets generated. I'm looking into it,
but do you have any more of those useful tips? ;) The code I used is the
same test case as earlier in this chain. Compiled with:
llc --march=cellspu --regalloc=fast test.ll -o -
thanks,
kalle
More information about the llvm-dev
mailing list