[Bug tree-optimization/78895] New: [6 regression] wrong code with -O1 when setting union twice since 6.3
james410 at cowgill dot org.uk
gcc-bugzilla@gcc.gnu.org
Wed Dec 21 23:44:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78895
Bug ID: 78895
Summary: [6 regression] wrong code with -O1 when setting union
twice since 6.3
Product: gcc
Version: 6.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: james410 at cowgill dot org.uk
Target Milestone: ---
Created attachment 40394
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40394&action=edit
union-twice.c
The attached testcase correctly prints nothing and exits with status 0 when
using GCC 6.2, but with 6.3 it prints "FAIL" and exits with status 10.
Originally reduced from strange behavior in jackd2
(https://bugs.debian.org/848285). The noinline bit is not required in the
original code in jackd2, but is in my testcase.
Compiled with:
gcc -O1 union-twice.c -o union-twice
I bisected it to revision 241788 (the first bad revision):
2016-11-02 Richard Biener <rguenther@suse.de>
Backport from mainline
2016-11-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/78047
* tree-ssa-structalias.c (push_fields_onto_fieldstack): Initialize
fake field at offset zero conservatively regarding to
may_have_pointers.
2016-10-31 Richard Biener <rguenther@suse.de>
PR lto/78129
* lto.c (do_whole_program_analysis): Bail out after errors
from WPA analysis.
2016-10-07 Richard Biener <rguenther@suse.de>
PR tree-optimization/77879
* tree-ssa-structalias.c (handle_const_call): Properly handle
NRV return slots.
(handle_pure_call): Likewise.
2016-10-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/77839
* tree-ssa-sccvn.c (set_ssa_val_to): Forbid value -> constant value
lattice transition.
* gcc.dg/torture/pr77839.c: New testcase.
2016-09-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/77745
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
When removing redundant stores make sure to check compatibility
of the TBAA state for downstream accesses.
* tree-ssa-sccvn.c (visit_reference_op_store): Likewise for when
value-numbering virtual operands for store matches.
* g++.dg/torture/pr77745.C: New testcase.
2016-09-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/77648
* tree-ssa-structalias.c (process_constraint): Handle all DEREF
with complex RHS.
(make_transitive_closure_constraints): Adjust comment.
(make_any_offset_constraints): New function.
(handle_rhs_call): Make sure to first expand a pointer to all
subfields before transitively closing it.
(handle_const_call): Likewise. Properly expand returned
pointers as well.
(handle_pure_call): Likewise.
* gcc.dg/torture/pr77648-1.c: New testcase.
* gcc.dg/torture/pr77648-2.c: Likewise.
More information about the Gcc-bugs
mailing list