[Bug tree-optimization/102608] [12 regression] Recent change to VN causes bogus Wuninitialized warnings & kernel build failures
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
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
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
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
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