Displaying 3 results from an estimated 3 matches for "ilv4i32".
2010 Jun 04
0
[LLVMdev] Heads up: Local register allocator going away
On Thu, 2010-06-03 at 02:53 +0200, Jakob Stoklund Olesen wrote:
> If you are using the local register allocator, please try switching to the fast allocator and report any bugs you find.
>
Tried it, and it seems to break quite a big chunk of our tests on SPU :)
Before r103488 ("Mostly rewrite RegAllocFast") there was no problem.
But with r103488, I get a:
2010 Jun 03
2
[LLVMdev] Heads up: Local register allocator going away
I just changed the default register allocator for -O0 builds to the fast allocator.
This means that the local register allocator is not used anymore, and since it does more or less the same as the fast allocator, there is no reason to keep it around.
I am going to delete it in a week or two.
If you are using the local register allocator, please try switching to the fast allocator and report any
2010 Jun 04
2
[LLVMdev] Heads up: Local register allocator going away
...saying "Oops, I clobbered the return value from your CALL. Didn't think you would need it."
The problem is this code:
BB#0: derived from LLVM BB %0
BRASL <ga:@extFunc>, %R0<imp-def>, %R1<imp-def>, %R3<imp-def>, %R0<imp-use>, ...
%reg1028<def> = ILv4i32 0
%reg1027<def> = ORi64_v2i64 %reg1028
ADJCALLSTACKUP 0, %R1<imp-def>, %R1<imp-use>
%reg1029<def> = LRr32 %R3
The return value from the call is in %R3, but %reg1027 and %reg1028 are also allocated to %R3 before it is copied to a safe place (%reg1029).
RegAllocFast does...