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).