[Bug tree-optimization/51528] [4.6 Regression] SRA should not create BOOLEAN_TYPE replacements
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51528 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|4.6.4 |4.7.0 --- Comment #14 from Jakub Jelinek jakub at gcc dot gnu.org 2013-04-12 16:18:04 UTC --- The 4.6 branch has been closed, fixed in GCC 4.7.0.
[Bug tree-optimization/51528] [4.6 Regression] SRA should not create BOOLEAN_TYPE replacements
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51528 Bug 51528 depends on bug 52244, which changed state. Bug 52244 Summary: [4.5/4.6/4.7 Regression] wrong code for function returning union between int and _Bool at O 2, with no-early-inlining http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52244 What|Old Value |New Value Status|ASSIGNED|RESOLVED Resolution||DUPLICATE --- Comment #11 from Richard Guenther rguenth at gcc dot gnu.org 2012-02-14 15:33:03 UTC --- *** Bug 52244 has been marked as a duplicate of this bug. ***
[Bug tree-optimization/51528] [4.6 Regression] SRA should not create BOOLEAN_TYPE replacements
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51528 --- Comment #12 from Richard Guenther rguenth at gcc dot gnu.org 2012-02-14 15:34:02 UTC --- Author: rguenth Date: Tue Feb 14 15:33:56 2012 New Revision: 184214 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=184214 Log: 2012-02-14 Richard Guenther rguent...@suse.de PR tree-optimization/52244 PR tree-optimization/51528 * tree-sra.c (analyze_access_subtree): Only create INTEGER_TYPE replacements for integral types. * gcc.dg/torture/pr52244.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/torture/pr52244.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-sra.c
[Bug tree-optimization/51528] [4.6 Regression] SRA should not create BOOLEAN_TYPE replacements
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51528 Iain Sandoe iains at gcc dot gnu.org changed: What|Removed |Added CC||iains at gcc dot gnu.org --- Comment #9 from Iain Sandoe iains at gcc dot gnu.org 2012-02-13 17:46:42 UTC --- the target has a different sized bool if that is relevant (int 32 sized)...
[Bug tree-optimization/51528] [4.6 Regression] SRA should not create BOOLEAN_TYPE replacements
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51528 --- Comment #10 from Iain Sandoe iains at gcc dot gnu.org 2012-02-13 20:40:43 UTC --- (In reply to comment #8) So, I don't see what's wrong on PPC (with SRA, that is). This must be a target bug if at all (note I'm only inspecting dumps and did not reproduce the execute fail). yes, seems to be .. the tree-ssa dump is unchanged between -O1 (OK) and -O2 (fails). this seems to be a 4.5, 4.6 and 4.7 regression [4.4. is OK] - the call to bar () is being dropped from foo (). will move to a different PR. Thanks for the test-case ;)
[Bug tree-optimization/51528] [4.6 Regression] SRA should not create BOOLEAN_TYPE replacements
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51528 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Depends on||52115 --- Comment #8 from Richard Guenther rguenth at gcc dot gnu.org 2012-02-06 14:13:48 UTC --- On ppc the main SRA pass does nothing to foo () because of differences in how the return value is returned. Still the IL at expansion time looks great: foo () { bb 2: retval.b = 1; use_bool (retval); retval.i = 65534; return retval; } compared to x86_64 where we have the uglier foo () { union U u; union U D.1733; bb 2: u.b = 1; use_bool (u); u = VIEW_CONVERT_EXPRunion U(65534); D.1733 = u; u ={v} {CLOBBER}; return D.1733; Compared to -fno-tree-sra on PPC we have foo () { union U u; bb 2: retval.b = 1; use_bool (retval); u.i = 65534; retval = u; u ={v} {CLOBBER}; return retval; so SRA managed to remove the aggregate temporary and its copy. So, I don't see what's wrong on PPC (with SRA, that is). This must be a target bug if at all (note I'm only inspecting dumps and did not reproduce the execute fail).
[Bug tree-optimization/51528] [4.6 Regression] SRA should not create BOOLEAN_TYPE replacements
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51528 Dominique d'Humieres dominiq at lps dot ens.fr changed: What|Removed |Added CC||rguenther at suse dot de --- Comment #7 from Dominique d'Humieres dominiq at lps dot ens.fr 2012-02-04 19:14:34 UTC --- On powerpc-apple-darwin9 testing revision 183874 I get with -m32: FAIL: gcc.dg/torture/pr51528.c -O2 execution test FAIL: gcc.dg/torture/pr51528.c -O3 -fomit-frame-pointer execution test FAIL: gcc.dg/torture/pr51528.c -O3 -g execution test FAIL: gcc.dg/torture/pr51528.c -Os execution test FAIL: gcc.dg/torture/pr51528.c -O2 -flto -flto-partition=none execution test FAIL: gcc.dg/torture/pr51528.c -O2 -flto execution test These execution failures are due to a.i==0.
[Bug tree-optimization/51528] [4.6 Regression] SRA should not create BOOLEAN_TYPE replacements
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51528 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Known to work||4.7.0 Summary|[4.6/4.7 Regression] SRA|[4.6 Regression] SRA should |should not create |not create BOOLEAN_TYPE |BOOLEAN_TYPE replacements |replacements --- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2012-01-31 10:43:09 UTC --- The testcase is worked around. Maybe reliably enough, maybe not ... At least the patches seem to be backportable eventually.