On 12/10/16 12:23, [email protected] wrote:
> From: Chen Gang <[email protected]>
>
> When check bundle, gcc may still need modify the prev insn. Original
> implementation will lose the prev insn.
>
> Also correct the coding styles of relate code.
>
> 2016-12-10 Chen Gang <[email protected]>
>
> gcc/
> PR target/78222
> * tilegx.c (tilegx_gen_bundle): Reserve prev insn when delete
> useless insn.
I think this was already fixed by Walt:
------------------------------------------------------------------------
r242617 | walt | 2016-11-19 03:34:17 +0100 (Sat, 19 Nov 2016) | 5 lines
Changed paths:
M /trunk/gcc/ChangeLog
M /trunk/gcc/config/tilegx/tilegx.c
TILE-Gx: Fix bundling when encountering consecutive barriers.
* config/tilegx/tilegx.c (tilegx_gen_bundles): Preserve
end-of-bundle marker for consecutive barriers.
But the formatting here is still odd, and should be fixed:
TAB usage, single statements in braces, { not in a line of its own.
I am however not sure about this statement:
/* Never wrap {} around inline asm. */
if (GET_CODE (PATTERN (insn)) != ASM_INPUT)
... because this does only exclude asm(""); that is basic asm with
empty assembler string. To exclude all other forms of asm statements
that are hidden in PARALLEL constructs we would need:
/* Never wrap {} around inline asm. */
if (GET_CODE (PATTERN (insn)) != ASM_INPUT
&& asm_noperands (PATTERN (insn)) < 0)
I think this if-condition is probably unnecessary, because it does
apparently not create any problems although it is completely broken.
Bernd.