Bug 20291 - combine throws away clobbers before trying to split
Summary: combine throws away clobbers before trying to split
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: rtl-optimization (show other bugs)
Version: 3.3
: P2 normal
Target Milestone: 4.1.0
Assignee: Not yet assigned to anyone
URL:
Keywords: missed-optimization
Depends on:
Blocks:
 
Reported: 2005-03-02 21:43 UTC by Jorn Wolfgang Rennecke
Modified: 2005-04-20 02:08 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2005-03-02 21:47:58


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jorn Wolfgang Rennecke 2005-03-02 21:43:48 UTC
When recog_for_combine fails to recognize a pattern as-is, it re-tries
with the clobbers stripped away.  When it eventually fails, and the
caller try_combine tries to split the pattern, the clobbers are
gone, thus causing combine failures for bridge splitters that need
these clobbers.

patch is here:
http://gcc.gnu.org/ml/gcc-patches/2005-03/msg00177.html
Comment 1 CVS Commits 2005-03-15 12:39:29 UTC
Subject: Bug 20291

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	amylaar@gcc.gnu.org	2005-03-15 12:39:06

Modified files:
	gcc            : ChangeLog combine.c 

Log message:
	PR rtl-optimization/20291
	* combine.c (try_combine): If splitting fails, re-try with
	original combined pattern, i.e. before clobber stripping.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.7857&r2=2.7858
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/combine.c.diff?cvsroot=gcc&r1=1.479&r2=1.480

Comment 2 Jorn Wolfgang Rennecke 2005-03-15 14:07:16 UTC
Fixed in mainline with patch applied today.