[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 -


More information about the llvm-dev mailing list