public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug ada/25900]  New: [4.2 Regression] ACATS ICE cxac0004 in set_value_range, at tree-vrp.c:161 on x86-linux
@ 2006-01-21  9:40 laurent at guerby dot net
  2006-01-21 21:00 ` [Bug ada/25900] " pinskia at gcc dot gnu dot org
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: laurent at guerby dot net @ 2006-01-21  9:40 UTC (permalink / raw)
  To: gcc-bugs

On 4.2 as of Fri Jan 20 20:40:28 UTC 2006 (revision 110036):
+===========================GNAT BUG DETECTED==============================+
| 4.2.0 20060120 (experimental) (i686-pc-linux-gnu) GCC error:             |
| in set_value_range, at tree-vrp.c:161                                    |
| Error detected at cxac004.adb:310:5                                      |

It was working as of Thu Jan 12 22:55:03 UTC 2006 (revision 109649). Note: it
works on amd64-linux.


-- 
           Summary: [4.2 Regression] ACATS ICE cxac0004 in set_value_range,
                    at tree-vrp.c:161 on x86-linux
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: ada
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: laurent at guerby dot net
  GCC host triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25900


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug ada/25900] [4.2 Regression] ACATS ICE cxac0004 in set_value_range, at tree-vrp.c:161 on x86-linux
  2006-01-21  9:40 [Bug ada/25900] New: [4.2 Regression] ACATS ICE cxac0004 in set_value_range, at tree-vrp.c:161 on x86-linux laurent at guerby dot net
@ 2006-01-21 21:00 ` pinskia at gcc dot gnu dot org
  2006-01-22  9:14 ` laurent at guerby dot net
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-01-21 21:00 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu dot
                   |                            |org, law at gcc dot gnu dot
                   |                            |org
   Target Milestone|---                         |4.2.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25900


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug ada/25900] [4.2 Regression] ACATS ICE cxac0004 in set_value_range, at tree-vrp.c:161 on x86-linux
  2006-01-21  9:40 [Bug ada/25900] New: [4.2 Regression] ACATS ICE cxac0004 in set_value_range, at tree-vrp.c:161 on x86-linux laurent at guerby dot net
  2006-01-21 21:00 ` [Bug ada/25900] " pinskia at gcc dot gnu dot org
@ 2006-01-22  9:14 ` laurent at guerby dot net
  2006-01-23 19:15 ` pinskia at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: laurent at guerby dot net @ 2006-01-22  9:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from laurent at guerby dot net  2006-01-22 09:14 -------
Was working with 109966, started failing with 109968

r109968 | law | 2006-01-19 17:30:59 +0100 (Thu, 19 Jan 2006) | 9 lines


        * tree-vrp.c (extract_range_from_assert): Refine the result range
        if the variable referenced by the ASSERT_EXPR has a range and
        either the tentative result range or the previous range is a 
        VR_ANTI_RANGE.

        * gcc.dg/tree-ssa/vrp25.c: New test.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25900


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug ada/25900] [4.2 Regression] ACATS ICE cxac0004 in set_value_range, at tree-vrp.c:161 on x86-linux
  2006-01-21  9:40 [Bug ada/25900] New: [4.2 Regression] ACATS ICE cxac0004 in set_value_range, at tree-vrp.c:161 on x86-linux laurent at guerby dot net
  2006-01-21 21:00 ` [Bug ada/25900] " pinskia at gcc dot gnu dot org
  2006-01-22  9:14 ` laurent at guerby dot net
@ 2006-01-23 19:15 ` pinskia at gcc dot gnu dot org
  2006-01-24 12:23 ` [Bug ada/25900] [4.2 Regression] ICE on ACATS cxac0004 in Tree-VRP ebotcazou at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-01-23 19:15 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from pinskia at gcc dot gnu dot org  2006-01-23 19:15 -------
More information about this bug:
http://gcc.gnu.org/ml/gcc-patches/2006-01/msg01571.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25900


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug ada/25900] [4.2 Regression] ICE on ACATS cxac0004 in Tree-VRP
  2006-01-21  9:40 [Bug ada/25900] New: [4.2 Regression] ACATS ICE cxac0004 in set_value_range, at tree-vrp.c:161 on x86-linux laurent at guerby dot net
                   ` (2 preceding siblings ...)
  2006-01-23 19:15 ` pinskia at gcc dot gnu dot org
@ 2006-01-24 12:23 ` ebotcazou at gcc dot gnu dot org
  2006-01-24 22:12 ` [Bug ada/25900] [4.2 Regression] ICE on ACATS cxac004 " law at redhat dot com
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2006-01-24 12:23 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from ebotcazou at gcc dot gnu dot org  2006-01-24 12:23 -------
Yup.


-- 

ebotcazou at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ebotcazou at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2006-01-24 12:23:23
               date|                            |
            Summary|[4.2 Regression] ACATS ICE  |[4.2 Regression] ICE on
                   |cxac0004 in set_value_range,|ACATS cxac0004 in Tree-VRP
                   |at tree-vrp.c:161 on x86-   |
                   |linux                       |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25900


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug ada/25900] [4.2 Regression] ICE on ACATS cxac004 in Tree-VRP
  2006-01-21  9:40 [Bug ada/25900] New: [4.2 Regression] ACATS ICE cxac0004 in set_value_range, at tree-vrp.c:161 on x86-linux laurent at guerby dot net
                   ` (3 preceding siblings ...)
  2006-01-24 12:23 ` [Bug ada/25900] [4.2 Regression] ICE on ACATS cxac0004 in Tree-VRP ebotcazou at gcc dot gnu dot org
@ 2006-01-24 22:12 ` law at redhat dot com
  2006-01-24 22:15 ` laurent at guerby dot net
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: law at redhat dot com @ 2006-01-24 22:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from law at redhat dot com  2006-01-24 22:12 -------
Subject: Re:  [4.2 Regression] ACATS ICE cxac0004 in
        set_value_range, at tree-vrp.c:161 on x86-linux

On Sat, 2006-01-21 at 21:00 +0000, pinskia at gcc dot gnu dot org wrote:
Weird.

I've got a little hack to reject the ranges given by SCEV when they're
going to be invalid.

That "fixes" cxac004, but causes c99004a to fail!

I wish I could say I understand why, but I don't.

jeff


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25900


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug ada/25900] [4.2 Regression] ICE on ACATS cxac004 in Tree-VRP
  2006-01-21  9:40 [Bug ada/25900] New: [4.2 Regression] ACATS ICE cxac0004 in set_value_range, at tree-vrp.c:161 on x86-linux laurent at guerby dot net
                   ` (4 preceding siblings ...)
  2006-01-24 22:12 ` [Bug ada/25900] [4.2 Regression] ICE on ACATS cxac004 " law at redhat dot com
@ 2006-01-24 22:15 ` laurent at guerby dot net
  2006-01-24 22:50 ` law at redhat dot com
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: laurent at guerby dot net @ 2006-01-24 22:15 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from laurent at guerby dot net  2006-01-24 22:15 -------
c99004a randomly fails PR21317, unrelated to your fix, so go ahead :).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25900


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug ada/25900] [4.2 Regression] ICE on ACATS cxac004 in Tree-VRP
  2006-01-21  9:40 [Bug ada/25900] New: [4.2 Regression] ACATS ICE cxac0004 in set_value_range, at tree-vrp.c:161 on x86-linux laurent at guerby dot net
                   ` (5 preceding siblings ...)
  2006-01-24 22:15 ` laurent at guerby dot net
@ 2006-01-24 22:50 ` law at redhat dot com
  2006-01-25  6:52 ` ebotcazou at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: law at redhat dot com @ 2006-01-24 22:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from law at redhat dot com  2006-01-24 22:50 -------
Subject: Re:  [4.2 Regression] ICE on ACATS cxac004 in
        Tree-VRP

On Tue, 2006-01-24 at 22:15 +0000, laurent at guerby dot net wrote:
> 
> ------- Comment #5 from laurent at guerby dot net  2006-01-24 22:15 -------
> c99004a randomly fails PR21317, unrelated to your fix, so go ahead :).
Ah.    Well, I feel better now -- I couldn't see how my change would
be causing an execution failure regression.... It should only have been
avoiding the segfault!

I'm going to ponder the SCEV code in question a little more -- while
it's easy enough to filter out unwanted stuff in VRP, I'm really
more concerned that SCEV gave us junk in the first place.

jeff


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25900


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug ada/25900] [4.2 Regression] ICE on ACATS cxac004 in Tree-VRP
  2006-01-21  9:40 [Bug ada/25900] New: [4.2 Regression] ACATS ICE cxac0004 in set_value_range, at tree-vrp.c:161 on x86-linux laurent at guerby dot net
                   ` (6 preceding siblings ...)
  2006-01-24 22:50 ` law at redhat dot com
@ 2006-01-25  6:52 ` ebotcazou at gcc dot gnu dot org
  2006-01-26 17:14 ` law at redhat dot com
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2006-01-25  6:52 UTC (permalink / raw)
  To: gcc-bugs



-- 

ebotcazou at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|law at gcc dot gnu dot org  |
         AssignedTo|unassigned at gcc dot gnu   |law at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25900


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug ada/25900] [4.2 Regression] ICE on ACATS cxac004 in Tree-VRP
  2006-01-21  9:40 [Bug ada/25900] New: [4.2 Regression] ACATS ICE cxac0004 in set_value_range, at tree-vrp.c:161 on x86-linux laurent at guerby dot net
                   ` (8 preceding siblings ...)
  2006-01-26 17:14 ` law at redhat dot com
@ 2006-01-26 17:14 ` law at gcc dot gnu dot org
  2006-01-26 17:15 ` law at redhat dot com
  10 siblings, 0 replies; 12+ messages in thread
From: law at gcc dot gnu dot org @ 2006-01-26 17:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from law at gcc dot gnu dot org  2006-01-26 17:14 -------
Subject: Bug 25900

Author: law
Date: Thu Jan 26 17:14:22 2006
New Revision: 110261

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110261
Log:
        PR ada/25900
        * tree-vrp.c (extract_range_from_assert): When merging a VR_RANGE
        with a VR_ANTI_RANGE and the VR_ANTI_RANGEis completely contained
        within the VR_RANGE, use the VR_RANGE as the result, not the
        VR_ANTI_RANGE.
        (adjust_range_with_scev): Reject ranges from SCEV which are out
        of bounds for the type.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/tree-vrp.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25900


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug ada/25900] [4.2 Regression] ICE on ACATS cxac004 in Tree-VRP
  2006-01-21  9:40 [Bug ada/25900] New: [4.2 Regression] ACATS ICE cxac0004 in set_value_range, at tree-vrp.c:161 on x86-linux laurent at guerby dot net
                   ` (7 preceding siblings ...)
  2006-01-25  6:52 ` ebotcazou at gcc dot gnu dot org
@ 2006-01-26 17:14 ` law at redhat dot com
  2006-01-26 17:14 ` law at gcc dot gnu dot org
  2006-01-26 17:15 ` law at redhat dot com
  10 siblings, 0 replies; 12+ messages in thread
From: law at redhat dot com @ 2006-01-26 17:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from law at redhat dot com  2006-01-26 17:14 -------
Subject: Re:  [4.2 Regression] ACATS ICE cxac0004 in
        set_value_range, at tree-vrp.c:161 on x86-linux

On Tue, 2006-01-24 at 15:12 -0700, Jeffrey A Law wrote:
> That "fixes" cxac004, but causes c99004a to fail!
As Laurent noted, c99004a has been failing without rhyme or reason
and the failure is not an indication of a regression due to my patch.

So I'm going to go forward with my patch.

The basic problem is we query SCEV to get ranges in some cases and
we query it on a different type than we ultimately care about. And
I've been unable to convince myself that even if we passed it the
right type that SCEV would do the right thing.

This patch makes VRP check the result of querying SCEV against the
type we actually care about.  When SCEV's result is inconsistent with
the type we car about, we simply ignore SCEV's result.

This patch also refines my recent change in one case.  Specifically if
we are intersecting a VR_RANGE and VR_ANTI_RANGE where the VR_ANTI_RANGE
is completely contained within the VR_RANGE, we have the option of
using either the VR_RANGE or VR_ANTI_RANGE as the result.  We were
selecting the VR_ANTI_RANGE, but in practice the VR_RANGE is likely
going to be more precise.  So I've changed the code to give us the
VR_RANGE instead.

About the only time the VR_ANTI_RANGE might be more useful would be if
it was something like -[0, 0] and referred to a pointer type.  Note
that I'll be looking more closely at the VRP null-pointer check
elimination code shortly so if the need arises I may add that final
bit of refinement.

Anyway, bootstrapped and regression tested on i686-pc-linux-gnu
(ada included).

Jeff


------- Comment #9 from law at redhat dot com  2006-01-26 17:14 -------
Created an attachment (id=10735)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10735&action=view)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25900


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug ada/25900] [4.2 Regression] ICE on ACATS cxac004 in Tree-VRP
  2006-01-21  9:40 [Bug ada/25900] New: [4.2 Regression] ACATS ICE cxac0004 in set_value_range, at tree-vrp.c:161 on x86-linux laurent at guerby dot net
                   ` (9 preceding siblings ...)
  2006-01-26 17:14 ` law at gcc dot gnu dot org
@ 2006-01-26 17:15 ` law at redhat dot com
  10 siblings, 0 replies; 12+ messages in thread
From: law at redhat dot com @ 2006-01-26 17:15 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from law at redhat dot com  2006-01-26 17:14 -------
Fixed with today's patch to tree-vrp.c


-- 

law at redhat dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25900


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2006-01-26 17:15 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-01-21  9:40 [Bug ada/25900] New: [4.2 Regression] ACATS ICE cxac0004 in set_value_range, at tree-vrp.c:161 on x86-linux laurent at guerby dot net
2006-01-21 21:00 ` [Bug ada/25900] " pinskia at gcc dot gnu dot org
2006-01-22  9:14 ` laurent at guerby dot net
2006-01-23 19:15 ` pinskia at gcc dot gnu dot org
2006-01-24 12:23 ` [Bug ada/25900] [4.2 Regression] ICE on ACATS cxac0004 in Tree-VRP ebotcazou at gcc dot gnu dot org
2006-01-24 22:12 ` [Bug ada/25900] [4.2 Regression] ICE on ACATS cxac004 " law at redhat dot com
2006-01-24 22:15 ` laurent at guerby dot net
2006-01-24 22:50 ` law at redhat dot com
2006-01-25  6:52 ` ebotcazou at gcc dot gnu dot org
2006-01-26 17:14 ` law at redhat dot com
2006-01-26 17:14 ` law at gcc dot gnu dot org
2006-01-26 17:15 ` law at redhat dot com

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