public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug optimization/13300] New: Variable incorrectly identified as a biv
@ 2003-12-04 10:12 rsandifo at gcc dot gnu dot org
2003-12-04 10:13 ` [Bug optimization/13300] " rsandifo at gcc dot gnu dot org
` (11 more replies)
0 siblings, 12 replies; 13+ messages in thread
From: rsandifo at gcc dot gnu dot org @ 2003-12-04 10:12 UTC (permalink / raw)
To: gcc-bugs
The attached test case fails on alpha-linux-gnu at -O2. The loop
optimisers are assuming that the sequence:
(set (reg:DI temp) (plus:DI (reg:DI i) (const_int 1)))
(set (reg:DI i) (sign_extend:DI (subreg:SI (reg:DI temp) 0)))
has undefined behaviour on overflow and that it can therefore be
treated like:
(set (reg:DI i) (plus:DI (reg:DI i) (const_int 1)))
for the purposes of biv detection. Thanks to geoffk for the example.
I think the problem was introduced by:
Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* expr.c (store_expr): When converting expression to promoted
equivalent type, allow using SUBREG_REG of TARGET as the target
of the expansion of EXP.
* loop.c (basic_induction_var, case SUBREG): Always look inside.
* config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
(alpha_emit_set_const): Handle SImode when can't make new pseudos.
(alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
* config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
Posted here: http://gcc.gnu.org/ml/gcc-patches/2002-02/msg01562.html
although as Richard says, the old code wouldn't detect promoted
bivs at all since the increment sequences don't look the way
the comments say they do.
--
Summary: Variable incorrectly identified as a biv
Product: gcc
Version: 3.4
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rsandifo at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: alpha-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13300
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug optimization/13300] Variable incorrectly identified as a biv
2003-12-04 10:12 [Bug optimization/13300] New: Variable incorrectly identified as a biv rsandifo at gcc dot gnu dot org
@ 2003-12-04 10:13 ` rsandifo at gcc dot gnu dot org
2003-12-04 10:48 ` pinskia at gcc dot gnu dot org
` (10 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: rsandifo at gcc dot gnu dot org @ 2003-12-04 10:13 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rsandifo at gcc dot gnu dot org 2003-12-04 10:13 -------
Created an attachment (id=5273)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=5273&action=view)
Failing testcase
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13300
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug optimization/13300] Variable incorrectly identified as a biv
2003-12-04 10:12 [Bug optimization/13300] New: Variable incorrectly identified as a biv rsandifo at gcc dot gnu dot org
2003-12-04 10:13 ` [Bug optimization/13300] " rsandifo at gcc dot gnu dot org
@ 2003-12-04 10:48 ` pinskia at gcc dot gnu dot org
2003-12-04 15:24 ` bangerth at dealii dot org
` (9 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2003-12-04 10:48 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2003-12-04 10:48 -------
Confirmed. (The patch which would have fixed this has been withdrawn but lets hope this cane be
fixed on the tree level with the tree-ssa but it needs a loop infrastructure first ).
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2003-12-04 10:48:14
date| |
Target Milestone|--- |tree-ssa
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13300
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug optimization/13300] Variable incorrectly identified as a biv
2003-12-04 10:12 [Bug optimization/13300] New: Variable incorrectly identified as a biv rsandifo at gcc dot gnu dot org
2003-12-04 10:13 ` [Bug optimization/13300] " rsandifo at gcc dot gnu dot org
2003-12-04 10:48 ` pinskia at gcc dot gnu dot org
@ 2003-12-04 15:24 ` bangerth at dealii dot org
2004-02-03 23:23 ` pinskia at gcc dot gnu dot org
` (8 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: bangerth at dealii dot org @ 2003-12-04 15:24 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From bangerth at dealii dot org 2003-12-04 15:24 -------
Links to the patch and some more information is here:
http://gcc.gnu.org/ml/gcc-patches/2003-12/msg00450.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13300
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug optimization/13300] Variable incorrectly identified as a biv
2003-12-04 10:12 [Bug optimization/13300] New: Variable incorrectly identified as a biv rsandifo at gcc dot gnu dot org
` (2 preceding siblings ...)
2003-12-04 15:24 ` bangerth at dealii dot org
@ 2004-02-03 23:23 ` pinskia at gcc dot gnu dot org
2004-08-10 1:05 ` [Bug rtl-optimization/13300] " pinskia at gcc dot gnu dot org
` (7 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-02-03 23:23 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|tree-ssa |3.5.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13300
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug rtl-optimization/13300] Variable incorrectly identified as a biv
2003-12-04 10:12 [Bug optimization/13300] New: Variable incorrectly identified as a biv rsandifo at gcc dot gnu dot org
` (3 preceding siblings ...)
2004-02-03 23:23 ` pinskia at gcc dot gnu dot org
@ 2004-08-10 1:05 ` pinskia at gcc dot gnu dot org
2004-11-28 16:00 ` [Bug rtl-optimization/13300] [3.3, 3.4, 4.0 regression] " falk at debian dot org
` (6 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-10 1:05 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|3.5.0 |---
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13300
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug rtl-optimization/13300] [3.3, 3.4, 4.0 regression] Variable incorrectly identified as a biv
2003-12-04 10:12 [Bug optimization/13300] New: Variable incorrectly identified as a biv rsandifo at gcc dot gnu dot org
` (4 preceding siblings ...)
2004-08-10 1:05 ` [Bug rtl-optimization/13300] " pinskia at gcc dot gnu dot org
@ 2004-11-28 16:00 ` falk at debian dot org
2004-11-28 16:02 ` [Bug rtl-optimization/13300] [3.3/3.4/4.0 " pinskia at gcc dot gnu dot org
` (5 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: falk at debian dot org @ 2004-11-28 16:00 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From falk at debian dot org 2004-11-28 16:00 -------
Still present in 3.3, 3.4, and 4.0 branch. Regression from 2.95.
--
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |critical
Known to fail| |3.2.3 3.3.5 3.4.4 4.0.0
Known to work| |2.95.4
Summary|Variable incorrectly |[3.3, 3.4, 4.0 regression]
|identified as a biv |Variable incorrectly
| |identified as a biv
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13300
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug rtl-optimization/13300] [3.3/3.4/4.0 regression] Variable incorrectly identified as a biv
2003-12-04 10:12 [Bug optimization/13300] New: Variable incorrectly identified as a biv rsandifo at gcc dot gnu dot org
` (5 preceding siblings ...)
2004-11-28 16:00 ` [Bug rtl-optimization/13300] [3.3, 3.4, 4.0 regression] " falk at debian dot org
@ 2004-11-28 16:02 ` pinskia at gcc dot gnu dot org
2005-01-28 23:34 ` echristo at redhat dot com
` (4 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-11-28 16:02 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Summary|[3.3, 3.4, 4.0 regression] |[3.3/3.4/4.0 regression]
|Variable incorrectly |Variable incorrectly
|identified as a biv |identified as a biv
Target Milestone|--- |3.4.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13300
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug rtl-optimization/13300] [3.3/3.4/4.0 regression] Variable incorrectly identified as a biv
2003-12-04 10:12 [Bug optimization/13300] New: Variable incorrectly identified as a biv rsandifo at gcc dot gnu dot org
` (6 preceding siblings ...)
2004-11-28 16:02 ` [Bug rtl-optimization/13300] [3.3/3.4/4.0 " pinskia at gcc dot gnu dot org
@ 2005-01-28 23:34 ` echristo at redhat dot com
2005-01-29 8:30 ` rsandifo at gcc dot gnu dot org
` (3 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: echristo at redhat dot com @ 2005-01-28 23:34 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From echristo at redhat dot com 2005-01-28 23:33 -------
I just tried this in mainline and it appears to be fixed (at least the testcase
works without error).
--
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13300
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug rtl-optimization/13300] [3.3/3.4/4.0 regression] Variable incorrectly identified as a biv
2003-12-04 10:12 [Bug optimization/13300] New: Variable incorrectly identified as a biv rsandifo at gcc dot gnu dot org
` (7 preceding siblings ...)
2005-01-28 23:34 ` echristo at redhat dot com
@ 2005-01-29 8:30 ` rsandifo at gcc dot gnu dot org
2005-02-12 23:29 ` pinskia at gcc dot gnu dot org
` (2 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: rsandifo at gcc dot gnu dot org @ 2005-01-29 8:30 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rsandifo at gcc dot gnu dot org 2005-01-29 08:30 -------
The purpose of this PR is to trak a bogus assumption in loop.c,
and that assumption is still there. See the referenced gcc-patches
message. So although the testcase might be fixed, I think we should
still keep this open.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|FIXED |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13300
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug rtl-optimization/13300] [3.3/3.4/4.0 regression] Variable incorrectly identified as a biv
2003-12-04 10:12 [Bug optimization/13300] New: Variable incorrectly identified as a biv rsandifo at gcc dot gnu dot org
` (8 preceding siblings ...)
2005-01-29 8:30 ` rsandifo at gcc dot gnu dot org
@ 2005-02-12 23:29 ` pinskia at gcc dot gnu dot org
2005-03-24 18:02 ` [Bug rtl-optimization/13300] [3.3/3.4/4.0/4.1 " mmitchel at gcc dot gnu dot org
2005-03-30 6:53 ` [Bug rtl-optimization/13300] [3.3/3.4 " rsandifo at gcc dot gnu dot org
11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-02-12 23:29 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |NEW
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13300
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug rtl-optimization/13300] [3.3/3.4/4.0/4.1 regression] Variable incorrectly identified as a biv
2003-12-04 10:12 [Bug optimization/13300] New: Variable incorrectly identified as a biv rsandifo at gcc dot gnu dot org
` (9 preceding siblings ...)
2005-02-12 23:29 ` pinskia at gcc dot gnu dot org
@ 2005-03-24 18:02 ` mmitchel at gcc dot gnu dot org
2005-03-30 6:53 ` [Bug rtl-optimization/13300] [3.3/3.4 " rsandifo at gcc dot gnu dot org
11 siblings, 0 replies; 13+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-03-24 18:02 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mmitchel at gcc dot gnu dot org 2005-03-24 18:02 -------
Richard, if there's no known testcase that manifests the problem for 4.0/4.1,
please remove those values from the summary line.
Thanks!
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13300
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug rtl-optimization/13300] [3.3/3.4 regression] Variable incorrectly identified as a biv
2003-12-04 10:12 [Bug optimization/13300] New: Variable incorrectly identified as a biv rsandifo at gcc dot gnu dot org
` (10 preceding siblings ...)
2005-03-24 18:02 ` [Bug rtl-optimization/13300] [3.3/3.4/4.0/4.1 " mmitchel at gcc dot gnu dot org
@ 2005-03-30 6:53 ` rsandifo at gcc dot gnu dot org
11 siblings, 0 replies; 13+ messages in thread
From: rsandifo at gcc dot gnu dot org @ 2005-03-30 6:53 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rsandifo at gcc dot gnu dot org 2005-03-30 06:52 -------
Done. I'm fairly sure it's possible to find another
manifestation of the bug, but it's wayyyy to late in
the 4.0 cycle to fix something like this anyway.
Maybe the 4.1 tree-level improvements will mean we
can remove the code entirely before 4.1.
I've also removed the target milestone and downgraded
the bug to "normal".
Richard
--
What |Removed |Added
----------------------------------------------------------------------------
Severity|critical |normal
Summary|[3.3/3.4/4.0/4.1 regression]|[3.3/3.4 regression]
|Variable incorrectly |Variable incorrectly
|identified as a biv |identified as a biv
Target Milestone|3.4.4 |---
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13300
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2005-03-30 6:53 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-12-04 10:12 [Bug optimization/13300] New: Variable incorrectly identified as a biv rsandifo at gcc dot gnu dot org
2003-12-04 10:13 ` [Bug optimization/13300] " rsandifo at gcc dot gnu dot org
2003-12-04 10:48 ` pinskia at gcc dot gnu dot org
2003-12-04 15:24 ` bangerth at dealii dot org
2004-02-03 23:23 ` pinskia at gcc dot gnu dot org
2004-08-10 1:05 ` [Bug rtl-optimization/13300] " pinskia at gcc dot gnu dot org
2004-11-28 16:00 ` [Bug rtl-optimization/13300] [3.3, 3.4, 4.0 regression] " falk at debian dot org
2004-11-28 16:02 ` [Bug rtl-optimization/13300] [3.3/3.4/4.0 " pinskia at gcc dot gnu dot org
2005-01-28 23:34 ` echristo at redhat dot com
2005-01-29 8:30 ` rsandifo at gcc dot gnu dot org
2005-02-12 23:29 ` pinskia at gcc dot gnu dot org
2005-03-24 18:02 ` [Bug rtl-optimization/13300] [3.3/3.4/4.0/4.1 " mmitchel at gcc dot gnu dot org
2005-03-30 6:53 ` [Bug rtl-optimization/13300] [3.3/3.4 " rsandifo at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).