Bug 32586 - [4.3 Regression] New VN misses FRE opportunities
Summary: [4.3 Regression] New VN misses FRE opportunities
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: tree-optimization (show other bugs)
Version: 4.3.0
: P2 normal
Target Milestone: 4.3.0
Assignee: Richard Biener
URL:
Keywords: missed-optimization, xfail
: 32845 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-07-02 13:32 UTC by Richard Biener
Modified: 2007-09-07 18:55 UTC (History)
4 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2007-07-02 13:33:41


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Richard Biener 2007-07-02 13:32:52 UTC
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-1.c 	
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-3.c 
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-4.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-5.c

are now all xfailed after r126149.
Comment 1 Richard Biener 2007-07-02 13:33:41 UTC
I'm going to look at bringing back the tree-combining the previous FRE did.
Comment 2 Richard Biener 2007-09-05 11:26:38 UTC
*** Bug 32845 has been marked as a duplicate of this bug. ***
Comment 3 Richard Biener 2007-09-06 16:05:44 UTC
Subject: Bug 32586

Author: rguenth
Date: Thu Sep  6 16:05:32 2007
New Revision: 128189

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128189
Log:
2007-09-06  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/32586
	* tree-ssa-sccvn.c (simplify_binary_expression): Avoid
	folding if nothing changed.
	(simplify_unary_expression): New function.  Do tree combining
	on conversion like codes.
	(try_to_simplify): Call it.
	* builtins.c (fold_builtin_cexp): Fold the built expressions.
	* fold-const.c (fold_unary): Test result of get_callee_fndecl().

	* g++.dg/tree-ssa/pr27090.C: Remove XFAILs.
	* gcc.dg/tree-ssa/ssa-fre-1.c: Likewise.
	* gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
	* gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.
	* gcc.dg/tree-ssa/ssa-fre-4.c: Likewise, remove scan for
	now obsolete simplification.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/builtins.c
    trunk/gcc/fold-const.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/tree-ssa/pr27090.C
    trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-1.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-3.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-4.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-5.c
    trunk/gcc/tree-ssa-sccvn.c

Comment 4 Richard Biener 2007-09-06 16:06:27 UTC
Fixed.
Comment 5 Richard Biener 2007-09-07 10:31:28 UTC
Subject: Bug 32586

Author: rguenth
Date: Fri Sep  7 10:31:09 2007
New Revision: 128236

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128236
Log:
2007-09-07  Richard Guenther  <rguenther@suse.de>
 
        Revert
        2007-09-06  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/32586
	* tree-ssa-sccvn.c (simplify_binary_expression): Avoid
	folding if nothing changed.
	(simplify_unary_expression): New function.  Do tree combining
	on conversion like codes.
	(try_to_simplify): Call it.

	* g++.dg/tree-ssa/pr27090.C: Remove XFAILs.
	* gcc.dg/tree-ssa/ssa-fre-1.c: Likewise.
	* gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
	* gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.
	* gcc.dg/tree-ssa/ssa-fre-4.c: Likewise, remove scan for
	now obsolete simplification.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/tree-ssa/pr27090.C
    trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-1.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-3.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-4.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-5.c
    trunk/gcc/tree-ssa-sccvn.c

Comment 6 Richard Biener 2007-09-07 10:32:28 UTC
Caused bootstrap miscompare on i?86.
Comment 7 Richard Biener 2007-09-07 18:55:29 UTC
Subject: Bug 32586

Author: rguenth
Date: Fri Sep  7 18:55:15 2007
New Revision: 128251

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128251
Log:
2007-09-07  Richard Guenther  <rguenther@suse.de>

        PR tree-optimization/32586
        * tree-ssa-sccvn.c (simplify_binary_expression): Avoid
        folding if nothing changed.
        (simplify_unary_expression): New function.  Do tree combining
        on conversion like codes.
        (try_to_simplify): Call it.

        * g++.dg/tree-ssa/pr27090.C: Remove XFAILs.
        * gcc.dg/tree-ssa/ssa-fre-1.c: Likewise.
        * gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
        * gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.
        * gcc.dg/tree-ssa/ssa-fre-4.c: Likewise, remove scan for
        now obsolete simplification.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/tree-ssa/pr27090.C
    trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-1.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-3.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-4.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-5.c
    trunk/gcc/tree-ssa-sccvn.c

Comment 8 Richard Biener 2007-09-07 18:55:51 UTC
Fixed again.