[Bug tree-optimization/102608] [12 regression] Recent change to VN causes bogus Wuninitialized warnings & kernel build failures

2021-10-07 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102608

Richard Biener  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|ASSIGNED|RESOLVED

--- Comment #4 from Richard Biener  ---
fixed

[Bug tree-optimization/102608] [12 regression] Recent change to VN causes bogus Wuninitialized warnings & kernel build failures

2021-10-07 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102608

--- Comment #3 from CVS Commits  ---
The master branch has been updated by Richard Biener :

https://gcc.gnu.org/g:1ebf2c14c60f5f37c00bea66aba46c25d4bcf473

commit r12-4225-g1ebf2c14c60f5f37c00bea66aba46c25d4bcf473
Author: Richard Biener 
Date:   Thu Oct 7 14:24:03 2021 +0200

tree-optimization/102608 - avoid CSEing .DEFERRED_INIT

This makes VN not CSE .DEFERRED_INIT which confuses uninit
analysis which reports the wrong decl when facing copies
of not initialized data.

2021-10-07  Richard Biener  

PR tree-optimization/102608
* tree-ssa-sccvn.c (visit_stmt): Drop .DEFERRED_INIT to
varying.

[Bug tree-optimization/102608] [12 regression] Recent change to VN causes bogus Wuninitialized warnings & kernel build failures

2021-10-06 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102608

Richard Biener  changed:

   What|Removed |Added

Version|11.0|12.0
   Last reconfirmed||2021-10-06
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
 Status|UNCONFIRMED |ASSIGNED
 Ever confirmed|0   |1

--- Comment #2 from Richard Biener  ---
(In reply to Andrew Pinski from comment #1)
>old32_34 = .DEFERRED_INIT (4, 2, 0);
> 
> ...
> 
> -  _24 = .DEFERRED_INIT (4, 2, 0);
> -  __res ={v} _24;
> +  __res ={v} old32_34;
> 
> 
> # 68 "../arch/mips/include/asm/cmpxchg.h"
> This is due to __typeof(*((volatile u32 *)ptr)) __ret
> 
> 
> 
> The warning is kinda of correct but wrong as it uses the wrong decl :).
> 
> Fre maybe should be disabled for DEFERRED_INIT 

Hmm, I did consider that but then I thought it wouldn't matter (there were no
testsuite FAILs).

But sure, I can easily make .DEFERRED_INIT always produce a VARYING value.

[Bug tree-optimization/102608] [12 regression] Recent change to VN causes bogus Wuninitialized warnings & kernel build failures

2021-10-05 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102608

Andrew Pinski  changed:

   What|Removed |Added

   Target Milestone|--- |12.0

[Bug tree-optimization/102608] [12 regression] Recent change to VN causes bogus Wuninitialized warnings & kernel build failures

2021-10-05 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102608

--- Comment #1 from Andrew Pinski  ---
   old32_34 = .DEFERRED_INIT (4, 2, 0);

...

-  _24 = .DEFERRED_INIT (4, 2, 0);
-  __res ={v} _24;
+  __res ={v} old32_34;


# 68 "../arch/mips/include/asm/cmpxchg.h"
This is due to __typeof(*((volatile u32 *)ptr)) __ret



The warning is kinda of correct but wrong as it uses the wrong decl :).

Fre maybe should be disabled for DEFERRED_INIT