R600 Patches (Plus one for SI): Various fixes to get the piglit all_cl tests to stop hanging

Vincent Lejeune vljn at ovi.com
Mon Apr 22 14:28:44 PDT 2013


Hi,

Some of our passes use the AMDGPU::RETURN instruction (off hand I remember one case in InstructionEmitter).
Beside I need to postprocess the return instruction to add PAD.

Vincent


----- Mail original -----
> De : Tom Stellard <tom at stellard.net>
> À : Vincent Lejeune <vljn at ovi.com>
> Cc : Alex Deucher <alexdeucher at gmail.com>; "llvm-commits at cs.uiuc.edu" <llvm-commits at cs.uiuc.edu>
> Envoyé le : Vendredi 19 avril 2013 0h17
> Objet : Re: R600 Patches (Plus one for SI): Various fixes to get the piglit
	all_cl tests to stop hanging
> 
> On Mon, Apr 15, 2013 at 06:47:49AM -0700, Vincent Lejeune wrote:
>>  I modified your patch adding the isFetch bit, and I have another one that 
> could be used instead of the NOP patch.
>> 
> 
> I can't get my mail client to inline your NOP patch, but I have two
> comments:
> 
> 1. I think you should rename NOP_eg and NOP_r600 to CF_END_eg and
> CF_END_r600 and also rename CF_END to CF_END_cm.  On pre-cayman, a NOP
> with the EOP bit is essentially the same as a CF_END, so I think it
> would be good to use consistent naming.  Also, it would be a good idea
> to add an EOP target flag to these instructions.
> 
> 2. You may be able to match the IL_retflag node and generate a CF_END_*
> instruction directly from the instruction selector instead of lowering
> the return later on.
> 
> -Tom
> 
>>  With them, I can emit native VTX/TEX clauses which should solve the bug 
> with MaxFetchInst with no regression,
>>  but I still need to work things to have prettier asm output and also fix 
> lit test.
>> 
>>  Vincent
>> 
>> 
>>  ----- Mail original -----
>>  > De : Tom Stellard <tom at stellard.net>
>>  > À : Alex Deucher <alexdeucher at gmail.com>
>>  > Cc : llvm-commits at cs.uiuc.edu
>>  > Envoyé le : Vendredi 12 avril 2013 23h25
>>  > Objet : Re: R600 Patches (Plus one for SI): Various fixes to get the 
> piglit
>>      all_cl tests to stop hanging
>>  > 
>>  > On Fri, Apr 12, 2013 at 05:11:25PM -0400, Alex Deucher wrote:
>>  >>  On Fri, Apr 12, 2013 at 4:52 PM, Tom Stellard 
> <tom at stellard.net> 
>>  > wrote:
>>  >>  > Hi,
>>  >>  >
>>  >>  > Attached are several patches to get the piglit test suite to 
> complete 
>>  > a
>>  >>  > full run with all_cl.tests without locking up on my Juniper.
>>  >>  >
>>  >>  > Please Review.
>>  >> 
>>  >>  > From ca217819c518e4de2f2dcc3e9044ccb2375b1474 Mon Sep 17 
> 00:00:00 2001
>>  >>  > From: Tom Stellard <thomas.stellard at amd.com>
>>  >>  > Date: Wed, 10 Apr 2013 14:53:58 -0400
>>  >>  > Subject: [PATCH 4/8] R600: Emit RETURN instructions as a NOP 
> with End 
>>  > of Program bit set
>>  >> 
>>  >>  Will this cause problems on vliw4 (cayman/tn) hardware?
>>  >> 
>>  > 
>>  > Yes, I forgot about this. I will fix it.
>>  > 
>>  >>  > From c0cb56a4e2bb43e0caaf0b6c080b72a34bc4a075 Mon Sep 17 
> 00:00:00 2001
>>  >>  > From: Tom Stellard <thomas.stellard at amd.com>
>>  >>  > Date: Wed, 10 Apr 2013 14:55:16 -0400
>>  >>  > Subject: [PATCH 5/8] R600: limit vtx clauses to one 
> instructions
>>  >>  >
>>  >>  > This fixes incorrect address calculations when multiple vtx 
>>  > instructions
>>  >>  > are in the same clause.
>>  >> 
>>  >>  Maybe add a comment with the actual hw limits so this doesn't 
> cause
>>  >>  confusion if we fix it down the road?
>>  >> 
>>  > 
>>  > Sure.
>>  > 
>>  > -Tom
>>  > 
>>  >>  Alex
>>  > _______________________________________________
>>  > llvm-commits mailing list
>>  > llvm-commits at cs.uiuc.edu
>>  > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>  > 
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-R600-Add-CF_END.patch
Type: application/octet-stream
Size: 8523 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130422/67d6e841/attachment.obj>


More information about the llvm-commits mailing list