Hi Jeff,

On Thu, May 15, 2025 at 10:11:19PM -0600, Jeff Law wrote:
> This has been tested in my tester and is currently bootstrapping on
> my BPI.  Waiting on data from the pre-commit tester before moving
> forward...

It looks like the Sourceware p550 and spacemit-x60 builders do flag a
bootstrap issue with this:

https://builder.sourceware.org/buildbot/#/builders/337/builds/255
https://builder.sourceware.org/buildbot/#/builders/338/builds/228

../../gcc/gcc/config/riscv/riscv.cc: In function ‘bool 
synthesize_ior_xor(rtx_code, rtx_def**)’:
../../gcc/gcc/config/riscv/riscv.cc:14422:18: error: ‘output’ may be used 
uninitialized [-Werror=maybe-uninitialized]
14422 |   emit_move_insn (operands[0], output);
      |   ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
../../gcc/gcc/config/riscv/riscv.cc:14393:7: note: ‘output’ was declared here
14393 |   rtx output;
      |       ^~~~~~
cc1plus: all warnings being treated as errors
make[3]: *** [Makefile:2728: riscv.o] Error 1
make[3]: *** Waiting for unfinished jobs....

>       * config/riscv/riscv.cc (synthesize_ior_xor): Avoid writing
>       operands[0] more than once, use new pseudos instead.
> 
> diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc
> index d996965d095..b908c4684ac 100644
> --- a/gcc/config/riscv/riscv.cc
> +++ b/gcc/config/riscv/riscv.cc
> [...]
> @@ -14378,6 +14394,7 @@ synthesize_ior_xor (rtx_code code, rtx operands[3])
>    /* Synthesis is better than loading the constant.  */
>    ival = INTVAL (operands[2]);
>    rtx input = operands[1];
> +  rtx output;
>  
>    /* Emit the [x]ori insn that sets the low 11 bits into
>       the proper state.  */

Should output here be initialized to NULL_RTX?

Thanks,

Mark

Reply via email to