public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/34036]  New: ICE  with control flow in the middle of basic block for -fnon-call-exceptions
@ 2007-11-08 22:01 janis at gcc dot gnu dot org
  2007-11-08 22:03 ` [Bug tree-optimization/34036] [4.3 Regression] " pinskia at gcc dot gnu dot org
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: janis at gcc dot gnu dot org @ 2007-11-08 22:01 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2342 bytes --]

Test eon from SPEC CPU2000 fails to build with "-O2 -fnon-call-exceptions
-ffast-math -fsignaling-nans" due to an ICE for control flow in the middle of a
basic block.  Two minimized tests show different warnings on both powerpc-linux
and i686-linux:

elm3b145% /opt/gcc-nightly/trunk/bin/g++ -O2 -fnon-call-exceptions -ffast-math
-fsignaling-nans -c bug13.cc
bug13.cc: In constructor ‘mrGrid::mrGrid()’:
bug13.cc:22: error: control flow in the middle of basic block 4
bug13.cc:22: internal compiler error: verify_flow_info failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

elm3b145% /opt/gcc-nightly/trunk/bin/g++ -O2 -fnon-call-exceptions -ffast-math
-fsignaling-nans -c bug14.cc
bug14.cc: In function ‘int main()’:
bug14.cc:27: error: BB 11 can not throw but has EH edges
bug14.cc:27: error: BB 12 can not throw but has EH edges
bug14.cc:27: error: control flow in the middle of basic block 13
bug14.cc:27: error: control flow in the middle of basic block 13
bug14.cc:27: internal compiler error: verify_flow_info failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

Here's bug13.cc; I'll attach the other which is slightly larger.

template <class T>
class ggStaticArray {
public:
  ~ggStaticArray();
};

template <class T>
class ggGrid {
public:
  ggGrid() : grid() { }
  ggStaticArray<T> grid;
};

class mrGrid {
public:
  mrGrid(void);
protected:
  ggGrid<int*> grid;
  double multiplier;
};

mrGrid::mrGrid(void)
{
  double xMeasure, yMeasure, zMeasure;
  double cellDimension;

  cellDimension = multiplier * (xMeasure * yMeasure * zMeasure);
}

Regression hunts for both identified this patch:

    http://gcc.gnu.org/viewcvs?view=rev&rev=108425

    r108425 | law | 2005-12-12 19:59:16 +0000 (Mon, 12 Dec 2005)


-- 
           Summary: ICE  with control flow in the middle of basic block for
                    -fnon-call-exceptions
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: janis at gcc dot gnu dot org


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


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

* [Bug tree-optimization/34036] [4.3 Regression] ICE  with control flow in the middle of basic block for -fnon-call-exceptions
  2007-11-08 22:01 [Bug tree-optimization/34036] New: ICE with control flow in the middle of basic block for -fnon-call-exceptions janis at gcc dot gnu dot org
@ 2007-11-08 22:03 ` pinskia at gcc dot gnu dot org
  2007-11-10 19:51 ` law at redhat dot com
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-11-08 22:03 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
           Keywords|                            |ice-on-valid-code
            Summary|ICE  with control flow in   |[4.3 Regression] ICE  with
                   |the middle of basic block   |control flow in the middle
                   |for -fnon-call-exceptions   |of basic block for -fnon-
                   |                            |call-exceptions
   Target Milestone|---                         |4.3.0


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


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

* [Bug tree-optimization/34036] [4.3 Regression] ICE  with control flow in the middle of basic block for -fnon-call-exceptions
  2007-11-08 22:01 [Bug tree-optimization/34036] New: ICE with control flow in the middle of basic block for -fnon-call-exceptions janis at gcc dot gnu dot org
  2007-11-08 22:03 ` [Bug tree-optimization/34036] [4.3 Regression] " pinskia at gcc dot gnu dot org
@ 2007-11-10 19:51 ` law at redhat dot com
  2007-11-10 22:05 ` pinskia at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: law at redhat dot com @ 2007-11-10 19:51 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from law at redhat dot com  2007-11-10 19:51 -------
I don't see how my patch could be the root cause -- more likely than not my
patch is exposing a latent bug elsewhere.

I'm on an extended leave-of-absence from GCC stuff, but I'll try to take a
looksie and at least get someone pointed in the right direction.

Jeff


-- 


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


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

* [Bug tree-optimization/34036] [4.3 Regression] ICE  with control flow in the middle of basic block for -fnon-call-exceptions
  2007-11-08 22:01 [Bug tree-optimization/34036] New: ICE with control flow in the middle of basic block for -fnon-call-exceptions janis at gcc dot gnu dot org
  2007-11-08 22:03 ` [Bug tree-optimization/34036] [4.3 Regression] " pinskia at gcc dot gnu dot org
  2007-11-10 19:51 ` law at redhat dot com
@ 2007-11-10 22:05 ` pinskia at gcc dot gnu dot org
  2007-11-10 22:14 ` pinskia at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-11-10 22:05 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from pinskia at gcc dot gnu dot org  2007-11-10 22:05 -------
Hmm, I think these options are a bit weird:
 -ffast-math -fsignaling-nans

-ffast-math enables -fno-signal-math so how can NaNs signal?


-- 


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


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

* [Bug tree-optimization/34036] [4.3 Regression] ICE  with control flow in the middle of basic block for -fnon-call-exceptions
  2007-11-08 22:01 [Bug tree-optimization/34036] New: ICE with control flow in the middle of basic block for -fnon-call-exceptions janis at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2007-11-10 22:05 ` pinskia at gcc dot gnu dot org
@ 2007-11-10 22:14 ` pinskia at gcc dot gnu dot org
  2007-11-10 22:15 ` 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 @ 2007-11-10 22:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from pinskia at gcc dot gnu dot org  2007-11-10 22:14 -------
D.2119_6 = xMeasure_4(D) * zMeasure_7(D);
D.2120_8 = D.2119_6 * yMeasure_5(D);


-- 


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


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

* [Bug tree-optimization/34036] [4.3 Regression] ICE  with control flow in the middle of basic block for -fnon-call-exceptions
  2007-11-08 22:01 [Bug tree-optimization/34036] New: ICE with control flow in the middle of basic block for -fnon-call-exceptions janis at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2007-11-10 22:14 ` pinskia at gcc dot gnu dot org
@ 2007-11-10 22:15 ` pinskia at gcc dot gnu dot org
  2007-11-10 22:18 ` [Bug tree-optimization/34036] [4.2/4.3 " pinskia at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-11-10 22:15 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from pinskia at gcc dot gnu dot org  2007-11-10 22:15 -------
The rewrite of tree-ssa-reassoc.c caused this.  That is the crash is after
tree-ssa-reassoc.c runs.


-- 


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


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

* [Bug tree-optimization/34036] [4.2/4.3 Regression] ICE  with control flow in the middle of basic block for -fnon-call-exceptions
  2007-11-08 22:01 [Bug tree-optimization/34036] New: ICE with control flow in the middle of basic block for -fnon-call-exceptions janis at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2007-11-10 22:15 ` pinskia at gcc dot gnu dot org
@ 2007-11-10 22:18 ` pinskia at gcc dot gnu dot org
  2007-11-12 18:44 ` janis at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-11-10 22:18 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from pinskia at gcc dot gnu dot org  2007-11-10 22:18 -------
This is also a 4.2 regression.

Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dberlin at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2007-11-10 22:18:27
               date|                            |
            Summary|[4.3 Regression] ICE  with  |[4.2/4.3 Regression] ICE
                   |control flow in the middle  |with control flow in the
                   |of basic block for -fnon-   |middle of basic block for -
                   |call-exceptions             |fnon-call-exceptions
   Target Milestone|4.3.0                       |4.2.3


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


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

* [Bug tree-optimization/34036] [4.2/4.3 Regression] ICE  with control flow in the middle of basic block for -fnon-call-exceptions
  2007-11-08 22:01 [Bug tree-optimization/34036] New: ICE with control flow in the middle of basic block for -fnon-call-exceptions janis at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2007-11-10 22:18 ` [Bug tree-optimization/34036] [4.2/4.3 " pinskia at gcc dot gnu dot org
@ 2007-11-12 18:44 ` janis at gcc dot gnu dot org
  2007-11-14 18:06 ` ebotcazou at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: janis at gcc dot gnu dot org @ 2007-11-12 18:44 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from janis at gcc dot gnu dot org  2007-11-12 18:44 -------
In response to comment #2, the options are indeed weird.  This is one of the
failures discovered by using combinations of options as described in
http://gcc.gnu.org/ml/gcc/2007-09/msg00496.html.  The correct fix might be to
simply disallow combinations of options that don't make sense, or to report
that the combination doesn't make sense and that one of them is ignored.


-- 


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


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

* [Bug tree-optimization/34036] [4.2/4.3 Regression] ICE  with control flow in the middle of basic block for -fnon-call-exceptions
  2007-11-08 22:01 [Bug tree-optimization/34036] New: ICE with control flow in the middle of basic block for -fnon-call-exceptions janis at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2007-11-12 18:44 ` janis at gcc dot gnu dot org
@ 2007-11-14 18:06 ` ebotcazou at gcc dot gnu dot org
  2007-11-19  6:27 ` ebotcazou at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2007-11-14 18:06 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from ebotcazou at gcc dot gnu dot org  2007-11-14 18:05 -------
Investigating.


-- 

ebotcazou at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |ebotcazou at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2007-11-10 22:18:27         |2007-11-14 18:05:55
               date|                            |


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


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

* [Bug tree-optimization/34036] [4.2/4.3 Regression] ICE  with control flow in the middle of basic block for -fnon-call-exceptions
  2007-11-08 22:01 [Bug tree-optimization/34036] New: ICE with control flow in the middle of basic block for -fnon-call-exceptions janis at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2007-11-14 18:06 ` ebotcazou at gcc dot gnu dot org
@ 2007-11-19  6:27 ` ebotcazou at gcc dot gnu dot org
  2007-11-19  6:29 ` ebotcazou at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2007-11-19  6:27 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from ebotcazou at gcc dot gnu dot org  2007-11-19 06:27 -------
Subject: Bug 34036

Author: ebotcazou
Date: Mon Nov 19 06:27:31 2007
New Revision: 130286

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130286
Log:
        PR tree-optimization/34036
        * opts.c (set_fast_math_flags): Do not set flags in common
        with set_unsafe_math_optimizations_flags, invoke it directly.
        (set_unsafe_math_optimizations_flags): Unset flag_trapping_math
        and flag_signed_zeros.
        * toplev.c (process_options): Force flag_associative_math to 0 and
        warn, if it is set and either flag_trapping_math or flag_signed_zeros
        is set too.
        * doc/invoke.texi (Optimize Options): Document the new behavior
        of -funsafe-math-optimizations, that -fassociative-math requires
        both -fno-signed-zeros and -fno-trapping-math and make it clear
        that -fno-trapping-math requires -fno-signaling-nans.


Added:
    trunk/gcc/testsuite/g++.dg/opt/pr34036.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/doc/invoke.texi
    trunk/gcc/opts.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/pr33007.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/recip-5.c
    trunk/gcc/toplev.c


-- 


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


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

* [Bug tree-optimization/34036] [4.2/4.3 Regression] ICE  with control flow in the middle of basic block for -fnon-call-exceptions
  2007-11-08 22:01 [Bug tree-optimization/34036] New: ICE with control flow in the middle of basic block for -fnon-call-exceptions janis at gcc dot gnu dot org
                   ` (8 preceding siblings ...)
  2007-11-19  6:27 ` ebotcazou at gcc dot gnu dot org
@ 2007-11-19  6:29 ` ebotcazou at gcc dot gnu dot org
  2007-11-19 11:07 ` ebotcazou at gcc dot gnu dot org
  2007-11-19 17:27 ` ebotcazou at gcc dot gnu dot org
  11 siblings, 0 replies; 13+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2007-11-19  6:29 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from ebotcazou at gcc dot gnu dot org  2007-11-19 06:29 -------
Fixed on mainline.  Not worth backporting to other branches.


-- 

ebotcazou at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|4.2.3                       |4.3.0


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


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

* [Bug tree-optimization/34036] [4.2/4.3 Regression] ICE  with control flow in the middle of basic block for -fnon-call-exceptions
  2007-11-08 22:01 [Bug tree-optimization/34036] New: ICE with control flow in the middle of basic block for -fnon-call-exceptions janis at gcc dot gnu dot org
                   ` (9 preceding siblings ...)
  2007-11-19  6:29 ` ebotcazou at gcc dot gnu dot org
@ 2007-11-19 11:07 ` ebotcazou at gcc dot gnu dot org
  2007-11-19 17:27 ` ebotcazou at gcc dot gnu dot org
  11 siblings, 0 replies; 13+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2007-11-19 11:07 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from ebotcazou at gcc dot gnu dot org  2007-11-19 11:07 -------
Subject: Bug 34036

Author: ebotcazou
Date: Mon Nov 19 11:07:28 2007
New Revision: 130287

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130287
Log:
        PR tree-optimization/34036
        * doc/invoke.texi (Optimize Options): Refactor documentation
        of -ffast-math.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/doc/invoke.texi


-- 


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


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

* [Bug tree-optimization/34036] [4.2/4.3 Regression] ICE  with control flow in the middle of basic block for -fnon-call-exceptions
  2007-11-08 22:01 [Bug tree-optimization/34036] New: ICE with control flow in the middle of basic block for -fnon-call-exceptions janis at gcc dot gnu dot org
                   ` (10 preceding siblings ...)
  2007-11-19 11:07 ` ebotcazou at gcc dot gnu dot org
@ 2007-11-19 17:27 ` ebotcazou at gcc dot gnu dot org
  11 siblings, 0 replies; 13+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2007-11-19 17:27 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from ebotcazou at gcc dot gnu dot org  2007-11-19 17:27 -------
Subject: Bug 34036

Author: ebotcazou
Date: Mon Nov 19 17:27:06 2007
New Revision: 130293

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130293
Log:
        PR tree-optimization/34036
        * gcc.dg/tree-ssa/pr23109.c: Pass -ftrapping-math and expect warning.


Modified:
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/tree-ssa/pr23109.c


-- 


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


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

end of thread, other threads:[~2007-11-19 17:27 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-11-08 22:01 [Bug tree-optimization/34036] New: ICE with control flow in the middle of basic block for -fnon-call-exceptions janis at gcc dot gnu dot org
2007-11-08 22:03 ` [Bug tree-optimization/34036] [4.3 Regression] " pinskia at gcc dot gnu dot org
2007-11-10 19:51 ` law at redhat dot com
2007-11-10 22:05 ` pinskia at gcc dot gnu dot org
2007-11-10 22:14 ` pinskia at gcc dot gnu dot org
2007-11-10 22:15 ` pinskia at gcc dot gnu dot org
2007-11-10 22:18 ` [Bug tree-optimization/34036] [4.2/4.3 " pinskia at gcc dot gnu dot org
2007-11-12 18:44 ` janis at gcc dot gnu dot org
2007-11-14 18:06 ` ebotcazou at gcc dot gnu dot org
2007-11-19  6:27 ` ebotcazou at gcc dot gnu dot org
2007-11-19  6:29 ` ebotcazou at gcc dot gnu dot org
2007-11-19 11:07 ` ebotcazou at gcc dot gnu dot org
2007-11-19 17:27 ` ebotcazou 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).