[Bug middle-end/85563] [8/9 regression] -Wmaybe-uninitialized false alarm regression with __builtin_unreachable and GCC 8

2019-04-12 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85563 --- Comment #16 from Marc Glisse --- (In reply to Jakub Jelinek from comment #15) > I certainly do see that. Uh, indeed. I don't remember what I may have tested where we failed to set a range, or maybe I just got confused, better ignore my

[Bug middle-end/85563] [8/9 regression] -Wmaybe-uninitialized false alarm regression with __builtin_unreachable and GCC 8

2019-04-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85563 --- Comment #15 from Jakub Jelinek --- (In reply to Marc Glisse from comment #12) > > Canonical example would be if (int_arg + 32U <= 64U) __builtin_unreachable > > (), > > We don't quite seem to put a range on int_arg with this. We have one >

[Bug middle-end/85563] [8/9 regression] -Wmaybe-uninitialized false alarm regression with __builtin_unreachable and GCC 8

2019-02-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85563 Jakub Jelinek changed: What|Removed |Added Target Milestone|8.3 |8.4 --- Comment #14 from Jakub Jelinek

[Bug middle-end/85563] [8/9 regression] -Wmaybe-uninitialized false alarm regression with __builtin_unreachable and GCC 8

2019-02-02 Thread eggert at cs dot ucla.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85563 --- Comment #13 from eggert at cs dot ucla.edu --- (In reply to Jakub Jelinek from comment #10) > I don't understand that. You had: > ((CONSP (Vframe_list)) ? (void) 0 : __builtin_unreachable ()); > for ((tail) = Vframe_list; (CONSP (tail)

[Bug middle-end/85563] [8/9 regression] -Wmaybe-uninitialized false alarm regression with __builtin_unreachable and GCC 8

2019-02-02 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85563 --- Comment #12 from Marc Glisse --- (In reply to Jakub Jelinek from comment #11) > I think there are cases where we set useful range even on other SSA_NAMEs > than the single one used in the condition, and in some cases it should be > good

[Bug middle-end/85563] [8/9 regression] -Wmaybe-uninitialized false alarm regression with __builtin_unreachable and GCC 8

2019-02-02 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85563 --- Comment #11 from Jakub Jelinek --- (In reply to Marc Glisse from comment #9) > --- gimple-ssa-evrp-analyze.c (revision 268474) > +++ gimple-ssa-evrp-analyze.c (working copy) > @@ -217,7 +217,8 @@ evrp_range_analyzer::record_ranges_from_ >

[Bug middle-end/85563] [8/9 regression] -Wmaybe-uninitialized false alarm regression with __builtin_unreachable and GCC 8

2019-02-02 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85563 --- Comment #10 from Jakub Jelinek --- (In reply to Paul Eggert from comment #8) > (In reply to Jakub Jelinek from comment #7) > > > Or just rewrite whatever you are doing to something that doesn't suffer from > > this. Say: > > (tail) =

[Bug middle-end/85563] [8/9 regression] -Wmaybe-uninitialized false alarm regression with __builtin_unreachable and GCC 8

2019-02-02 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85563 --- Comment #9 from Marc Glisse --- --- gimple-ssa-evrp-analyze.c (revision 268474) +++ gimple-ssa-evrp-analyze.c (working copy) @@ -217,7 +217,8 @@ evrp_range_analyzer::record_ranges_from_ push_value_range (vrs[i].first,

[Bug middle-end/85563] [8/9 regression] -Wmaybe-uninitialized false alarm regression with __builtin_unreachable and GCC 8

2019-02-01 Thread eggert at gnu dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85563 Paul Eggert changed: What|Removed |Added CC||eggert at gnu dot org --- Comment #8 from

[Bug middle-end/85563] [8/9 regression] -Wmaybe-uninitialized false alarm regression with __builtin_unreachable and GCC 8

2019-02-01 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85563 --- Comment #7 from Jakub Jelinek --- Before doing manual reduction, I've tried: struct S { void *a, *b; int c; }; static inline int foo (void *p) { return ((unsigned) ((__INTPTR_TYPE__) p) & 7) == 3; } static inline void *bar (void *p) {

[Bug middle-end/85563] [8/9 regression] -Wmaybe-uninitialized false alarm regression with __builtin_unreachable and GCC 8

2019-02-01 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85563 --- Comment #6 from Jakub Jelinek --- Reduced testcase: typedef void *Lisp_Word; typedef Lisp_Word Lisp_Object; struct Lisp_Cons { union { struct { Lisp_Object car; union { Lisp_Object cdr; struct Lisp_Cons *chain; } u; } s; char

[Bug middle-end/85563] [8/9 regression] -Wmaybe-uninitialized false alarm regression with __builtin_unreachable and GCC 8

2019-02-01 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85563 --- Comment #5 from Marc Glisse --- IIUC, EVRP sees if(x!=3)__builtin_unreachable() and adds a range [3,3] on x. The condition thus gets cleaned up and __builtin_unreachable disappears. This could be fine, except that x has a single use, the

[Bug middle-end/85563] [8/9 regression] -Wmaybe-uninitialized false alarm regression with __builtin_unreachable and GCC 8

2019-02-01 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85563 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #4

[Bug middle-end/85563] [8/9 regression] -Wmaybe-uninitialized false alarm regression with __builtin_unreachable and GCC 8

2018-07-26 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85563 Jakub Jelinek changed: What|Removed |Added Target Milestone|8.2 |8.3 --- Comment #3 from Jakub Jelinek

[Bug middle-end/85563] [8/9 regression] -Wmaybe-uninitialized false alarm regression with __builtin_unreachable and GCC 8

2018-04-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85563 Richard Biener changed: What|Removed |Added Priority|P3 |P2 Component|c