[Intel-gfx] [PATCH i-g-t] assembler/: Fix lex warnings for %empty and %nonassoc.
Damien Lespiau
damien.lespiau at intel.com
Thu May 19 11:28:10 UTC 2016
On Mon, May 16, 2016 at 01:39:10PM +0300, Marius Vlad wrote:
> Signed-off-by: Marius Vlad <marius.c.vlad at intel.com>
> ---
> assembler/gram.y | 74 ++++++++++++++++++++++++++++----------------------------
> 1 file changed, 37 insertions(+), 37 deletions(-)
The only way to test the change is to regenerate the vaapi shaders from
source and check for differences in the generated opcodes.
https://cgit.freedesktop.org/vaapi/intel-driver/
If all the shaders do compile and there's no difference in the generated
code, this is:
Acked-by: Damien Lespiau <damien.lespiau at intel.com>
--
Damien
>
> diff --git a/assembler/gram.y b/assembler/gram.y
> index 23e1a57..15b8b64 100644
> --- a/assembler/gram.y
> +++ b/assembler/gram.y
> @@ -509,15 +509,15 @@ static void resolve_subnr(struct brw_reg *reg)
> %token <integer> BASE ELEMENTSIZE SRCREGION DSTREGION TYPE
>
> %token <integer> DEFAULT_EXEC_SIZE_PRAGMA DEFAULT_REG_TYPE_PRAGMA
> -%nonassoc SUBREGNUM
> -%nonassoc SNDOPR
> +%precedence SUBREGNUM
> +%precedence SNDOPR
> %left PLUS MINUS
> %left MULTIPLY DIVIDE
> -%right UMINUS
> -%nonassoc DOT
> -%nonassoc STR_SYMBOL_REG
> -%nonassoc EMPTEXECSIZE
> -%nonassoc LPAREN
> +%precedence UMINUS
> +%precedence DOT
> +%precedence STR_SYMBOL_REG
> +%precedence EMPTEXECSIZE
> +%precedence LPAREN
>
> %type <integer> exp sndopr
> %type <integer> simple_int
> @@ -655,7 +655,7 @@ declare_elementsize: ELEMENTSIZE EQ exp
> $$ = $3;
> }
> ;
> -declare_srcregion: /* empty */
> +declare_srcregion: %empty /* empty */
> {
> /* XXX is this default correct?*/
> memset (&$$, '\0', sizeof ($$));
> @@ -668,7 +668,7 @@ declare_srcregion: /* empty */
> $$ = $3;
> }
> ;
> -declare_dstregion: /* empty */
> +declare_dstregion: %empty /* empty */
> {
> $$ = 1;
> }
> @@ -1962,20 +1962,20 @@ msgtarget: NULL_TOKEN
> ;
>
> urb_allocate: ALLOCATE { $$ = 1; }
> - | /* empty */ { $$ = 0; }
> + | %empty /* empty */ { $$ = 0; }
> ;
>
> urb_used: USED { $$ = 1; }
> - | /* empty */ { $$ = 0; }
> + | %empty /* empty */ { $$ = 0; }
> ;
>
> urb_complete: COMPLETE { $$ = 1; }
> - | /* empty */ { $$ = 0; }
> + | %empty /* empty */ { $$ = 0; }
> ;
>
> urb_swizzle: TRANSPOSE { $$ = BRW_URB_SWIZZLE_TRANSPOSE; }
> | INTERLEAVE { $$ = BRW_URB_SWIZZLE_INTERLEAVE; }
> - | /* empty */ { $$ = BRW_URB_SWIZZLE_NONE; }
> + | %empty /* empty */ { $$ = BRW_URB_SWIZZLE_NONE; }
> ;
>
> sampler_datatype:
> @@ -1988,11 +1988,11 @@ math_function: INV | LOG | EXP | SQRT | POW | SIN | COS | SINCOS | INTDIV
> | INTMOD | INTDIVMOD
> ;
>
> -math_signed: /* empty */ { $$ = 0; }
> +math_signed: %empty /* empty */ { $$ = 0; }
> | SIGNED { $$ = 1; }
> ;
>
> -math_scalar: /* empty */ { $$ = 0; }
> +math_scalar: %empty /* empty */ { $$ = 0; }
> | SCALAR { $$ = 1; }
> ;
>
> @@ -2374,7 +2374,7 @@ addrparam: addrreg COMMA immaddroffset
> /* The immaddroffset provides an immediate offset value added to the addresses
> * from the address register in register-indirect register access.
> */
> -immaddroffset: /* empty */ { $$ = 0; }
> +immaddroffset: %empty /* empty */ { $$ = 0; }
> | exp
> ;
>
> @@ -2384,7 +2384,7 @@ subregnum: DOT exp
> {
> $$ = $2;
> }
> - | %prec SUBREGNUM
> + | %empty %prec SUBREGNUM
> {
> /* Default to subreg 0 if unspecified. */
> $$ = 0;
> @@ -2687,7 +2687,7 @@ relativelocation2:
> ;
>
> /* 1.4.7: Regions */
> -dstregion: /* empty */
> +dstregion: %empty /* empty */
> {
> $$ = DEFAULT_DSTREGION;
> }
> @@ -2703,7 +2703,7 @@ dstregion: /* empty */
> }
> ;
>
> -region: /* empty */
> +region: %empty /* empty */
> {
> /* XXX is this default value correct?*/
> memset (&$$, '\0', sizeof ($$));
> @@ -2757,7 +2757,7 @@ indirectregion: region | region_wh
> /* regtype returns an integer register type suitable for inserting into an
> * instruction.
> */
> -regtype: /* empty */
> +regtype: %empty /* empty */
> { $$.type = program_defaults.register_type;$$.is_default = 1;}
> | TYPE_F { $$.type = BRW_REGISTER_TYPE_F;$$.is_default = 0; }
> | TYPE_UD { $$.type = BRW_REGISTER_TYPE_UD;$$.is_default = 0; }
> @@ -2768,7 +2768,7 @@ regtype: /* empty */
> | TYPE_B { $$.type = BRW_REGISTER_TYPE_B;$$.is_default = 0; }
> ;
>
> -srcimmtype: /* empty */
> +srcimmtype: %empty /* empty */
> {
> /* XXX change to default when pragma parse is done */
> $$ = BRW_REGISTER_TYPE_D;
> @@ -2786,7 +2786,7 @@ srcimmtype: /* empty */
> /* Returns the swizzle control for an align16 instruction's source operand
> * in the src0 fields.
> */
> -swizzle: /* empty */
> +swizzle: %empty /* empty */
> {
> $$.reg.dw1.bits.swizzle = BRW_SWIZZLE_NOOP;
> }
> @@ -2807,7 +2807,7 @@ chansel: X | Y | Z | W
> /* Returns a partially completed struct brw_reg, with just the writemask bits
> * filled out.
> */
> -writemask: /* empty */
> +writemask: %empty /* empty */
> {
> $$.dw1.bits.writemask = BRW_WRITEMASK_XYZW;
> }
> @@ -2817,19 +2817,19 @@ writemask: /* empty */
> }
> ;
>
> -writemask_x: /* empty */ { $$ = 0; }
> +writemask_x: %empty /* empty */ { $$ = 0; }
> | X { $$ = 1 << BRW_CHANNEL_X; }
> ;
>
> -writemask_y: /* empty */ { $$ = 0; }
> +writemask_y: %empty /* empty */ { $$ = 0; }
> | Y { $$ = 1 << BRW_CHANNEL_Y; }
> ;
>
> -writemask_z: /* empty */ { $$ = 0; }
> +writemask_z: %empty /* empty */ { $$ = 0; }
> | Z { $$ = 1 << BRW_CHANNEL_Z; }
> ;
>
> -writemask_w: /* empty */ { $$ = 0; }
> +writemask_w: %empty /* empty */ { $$ = 0; }
> | W { $$ = 1 << BRW_CHANNEL_W; }
> ;
>
> @@ -2839,7 +2839,7 @@ imm32: exp { $$.r = imm32_d; $$.u.d = $1; }
> ;
>
> /* 1.4.12: Predication and modifiers */
> -predicate: /* empty */
> +predicate: %empty /* empty */
> {
> $$.pred_control = BRW_PREDICATE_NONE;
> $$.flag_reg_nr = 0;
> @@ -2855,12 +2855,12 @@ predicate: /* empty */
> }
> ;
>
> -predstate: /* empty */ { $$ = 0; }
> +predstate: %empty /* empty */ { $$ = 0; }
> | PLUS { $$ = 0; }
> | MINUS { $$ = 1; }
> ;
>
> -predctrl: /* empty */ { $$ = BRW_PREDICATE_NORMAL; }
> +predctrl: %empty /* empty */ { $$ = BRW_PREDICATE_NORMAL; }
> | DOT X { $$ = BRW_PREDICATE_ALIGN16_REPLICATE_X; }
> | DOT Y { $$ = BRW_PREDICATE_ALIGN16_REPLICATE_Y; }
> | DOT Z { $$ = BRW_PREDICATE_ALIGN16_REPLICATE_Z; }
> @@ -2877,15 +2877,15 @@ predctrl: /* empty */ { $$ = BRW_PREDICATE_NORMAL; }
> | ALL16H { $$ = BRW_PREDICATE_ALIGN1_ALL16H; }
> ;
>
> -negate: /* empty */ { $$ = 0; }
> +negate: %empty /* empty */ { $$ = 0; }
> | MINUS { $$ = 1; }
> ;
>
> -abs: /* empty */ { $$ = 0; }
> +abs: %empty /* empty */ { $$ = 0; }
> | ABS { $$ = 1; }
> ;
>
> -execsize: /* empty */ %prec EMPTEXECSIZE
> +execsize: %empty /* empty */ %prec EMPTEXECSIZE
> {
> $$ = ffs(program_defaults.execute_size) - 1;
> }
> @@ -2902,7 +2902,7 @@ execsize: /* empty */ %prec EMPTEXECSIZE
> }
> ;
>
> -saturate: /* empty */ { $$ = BRW_INSTRUCTION_NORMAL; }
> +saturate: %empty /* empty */ { $$ = BRW_INSTRUCTION_NORMAL; }
> | SATURATE { $$ = BRW_INSTRUCTION_SATURATE; }
> ;
> conditionalmodifier: condition
> @@ -2918,7 +2918,7 @@ conditionalmodifier: condition
> $$.flag_subreg_nr = $3.subnr;
> }
>
> -condition: /* empty */ { $$ = BRW_CONDITIONAL_NONE; }
> +condition: %empty /* empty */ { $$ = BRW_CONDITIONAL_NONE; }
> | ZERO
> | EQUAL
> | NOT_ZERO
> @@ -2933,7 +2933,7 @@ condition: /* empty */ { $$ = BRW_CONDITIONAL_NONE; }
> ;
>
> /* 1.4.13: Instruction options */
> -instoptions: /* empty */
> +instoptions: %empty /* empty */
> { memset(&$$, 0, sizeof($$)); }
> | LCURLY instoption_list RCURLY
> { $$ = $2; }
> @@ -2949,7 +2949,7 @@ instoption_list:instoption_list COMMA instoption
> $$ = $1;
> add_option(&$$, $2);
> }
> - | /* empty, header defaults to zeroes. */
> + | %empty /* empty, header defaults to zeroes. */
> {
> memset(&$$, 0, sizeof($$));
> }
> --
> 2.8.1
>
More information about the Intel-gfx
mailing list