* [Bug middle-end/64246] [5 Regression] ICE building libada for Windows due to NULL loop header
2014-12-10 1:23 [Bug middle-end/64246] New: [5 Regression] ICE building libada for Windows due to NULL loop header matt at gwalski dot com
@ 2014-12-10 10:08 ` rguenther at suse dot de
2014-12-10 12:29 ` rguenth at gcc dot gnu.org
` (11 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: rguenther at suse dot de @ 2014-12-10 10:08 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246
--- Comment #1 from rguenther at suse dot de <rguenther at suse dot de> ---
On Wed, 10 Dec 2014, matt at gwalski dot com wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246
>
> Bug ID: 64246
> Summary: [5 Regression] ICE building libada for Windows due to
> NULL loop header
> Product: gcc
> Version: 5.0
> Status: UNCONFIRMED
> Severity: major
> Priority: P3
> Component: middle-end
> Assignee: unassigned at gcc dot gnu.org
> Reporter: matt at gwalski dot com
> CC: rguenther at suse dot de
> Host: x86_64-linux-gnu
> Target: i686-w64-mingw32
> Build: x86_64-linux-gnu
>
> Attempting to build trunk SVN version 218496 supporting C,C++, and Ada fails
> with the following:
>
> /home/matt/buildgcc/./gcc/xgcc -B/home/matt/buildgcc/./gcc/
> -L/usr/local/i686-w64-mingw32/lib -L/usr/local/mingw/lib -isystem
> /usr/local/i686-w64-mingw32/include -isystem /usr/local/mingw/include
> -B/usr/local/i686-w64-mingw32/bin/ -B/usr/local/i686-w64-mingw32/lib/ -isystem
> /usr/local/i686-w64-mingw32/include -isystem
> /usr/local/i686-w64-mingw32/sys-include -c -g -O2 -W -Wall -gnatpg
> -nostdinc g-awk.adb -o g-awk.o
> +===========================GNAT BUG DETECTED==============================+
> | 5.0.0 20141208 (experimental) (i686-w64-mingw32) GCC error: |
> | in fix_loop_structure, at loop-init.c:263 |
> | Error detected around g-awk.adb:727:8 |
> | Please submit a bug report; see http://gcc.gnu.org/bugs.html. |
> | Use a subject line meaningful to you and us to track the bug. |
> | Include the entire contents of this bug box in the report. |
> | Include the exact command that you entered. |
> | Also include sources listed below. |
> +==========================================================================+
>
> Please include these source files with error report
> Note that list may not be accurate in some cases,
> so please double check that the problem can still
> be reproduced with the set of files listed.
> Consider also -gnatd.n switch (see debug.adb).
>
> system.ads
> g-awk.adb
> g-awk.ads
> gnat.ads
> ada.ads
> a-finali.ads
> s-finroo.ads
> g-regpat.ads
> s-regpat.ads
> a-except.ads
> s-parame.ads
> s-stalib.ads
> a-unccon.ads
> s-traent.ads
> a-textio.ads
> a-ioexce.ads
> a-stream.ads
> s-ficobl.ads
> interfac.ads
> i-cstrea.ads
> s-crtl.ads
> s-wchcon.ads
> a-string.ads
> a-strunb.ads
> a-strmap.ads
> a-charac.ads
> a-chlat1.ads
> s-atocou.ads
> a-strfix.ads
> a-uncdea.ads
> g-dirope.ads
> g-dyntab.ads
> g-os_lib.ads
> s-os_lib.ads
> s-string.ads
> s-exctab.ads
> a-tags.ads
> s-stoele.ads
> s-soflin.ads
> s-stache.ads
> s-finmas.ads
> s-stopoo.ads
> s-pooglo.ads
> s-unstyp.ads
> s-stratt.ads
> s-secsta.ads
> s-stposu.ads
> s-ststop.ads
> s-imgint.ads
> s-valint.ads
> s-valrea.ads
> g-dyntab.adb
> g-hesorg.ads
> s-memory.ads
> g-hesorg.adb
> s-stoele.adb
>
>
> raised TYPES.UNRECOVERABLE_ERROR : comperr.adb:423
> make[4]: *** [g-awk.o] Error 1
>
> It's hitting an assert added in r214957/r215012.
>
> I've been able to bootstrap a x86_64-linux-gnu Ada compiler fine with a
> revision that fails for i686-w64-mingw32.
>
> I believe I'm also seeing the error building a native i686-w64-mingw32
> (bootstrap or no bootstrap) Ada compiler.
>
> Configuration options:
> configure --build=x86_64-linux-gnu --enable-shared --enable-static
> --disable-multilib --enable-threads=posix --enable-fully-dynamic-string
> --enable-sjlj-exceptions --enable-libgomp --enable-languages=c,c++,ada,lto
> --target=i686-w64-mingw32 --host=x86_64-linux-gnu
Ok, trying to compile a cross compiler to reproduce the above seems
to require target headers which I dont' have. I've built the
ada compiler itself so can you please attach the files referenced above?
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/64246] [5 Regression] ICE building libada for Windows due to NULL loop header
2014-12-10 1:23 [Bug middle-end/64246] New: [5 Regression] ICE building libada for Windows due to NULL loop header matt at gwalski dot com
2014-12-10 10:08 ` [Bug middle-end/64246] " rguenther at suse dot de
@ 2014-12-10 12:29 ` rguenth at gcc dot gnu.org
2014-12-12 9:30 ` ebotcazou at gcc dot gnu.org
` (10 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-12-10 12:29 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |WAITING
Last reconfirmed| |2014-12-10
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org
Target Milestone|--- |5.0
Ever confirmed|0 |1
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/64246] [5 Regression] ICE building libada for Windows due to NULL loop header
2014-12-10 1:23 [Bug middle-end/64246] New: [5 Regression] ICE building libada for Windows due to NULL loop header matt at gwalski dot com
2014-12-10 10:08 ` [Bug middle-end/64246] " rguenther at suse dot de
2014-12-10 12:29 ` rguenth at gcc dot gnu.org
@ 2014-12-12 9:30 ` ebotcazou at gcc dot gnu.org
2014-12-12 17:32 ` ebotcazou at gcc dot gnu.org
` (9 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2014-12-12 9:30 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246
Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |ASSIGNED
Assignee|rguenth at gcc dot gnu.org |ebotcazou at gcc dot gnu.org
--- Comment #2 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
Let me have a look first.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/64246] [5 Regression] ICE building libada for Windows due to NULL loop header
2014-12-10 1:23 [Bug middle-end/64246] New: [5 Regression] ICE building libada for Windows due to NULL loop header matt at gwalski dot com
` (2 preceding siblings ...)
2014-12-12 9:30 ` ebotcazou at gcc dot gnu.org
@ 2014-12-12 17:32 ` ebotcazou at gcc dot gnu.org
2014-12-12 17:59 ` ebotcazou at gcc dot gnu.org
` (8 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2014-12-12 17:32 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246
--- Comment #3 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
Created attachment 34269
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34269&action=edit
Concatenated testcase
To be gnatchop-ed and compile at -O.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/64246] [5 Regression] ICE building libada for Windows due to NULL loop header
2014-12-10 1:23 [Bug middle-end/64246] New: [5 Regression] ICE building libada for Windows due to NULL loop header matt at gwalski dot com
` (3 preceding siblings ...)
2014-12-12 17:32 ` ebotcazou at gcc dot gnu.org
@ 2014-12-12 17:59 ` ebotcazou at gcc dot gnu.org
2014-12-15 8:40 ` rguenth at gcc dot gnu.org
` (7 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2014-12-12 17:59 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246
--- Comment #4 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
This happens only on i686-mingw32 because this requires SJLJ exceptions. The
loop at stake is marked for removal during EH generation:
#0 mark_loop_for_removal (loop=0x7ffff6969ca8)
at /home/eric/svn/gcc/gcc/cfgloop.c:1933
#1 0x0000000000da97e2 in sjlj_emit_dispatch_table (
dispatch_label=0x7ffff6a4cec0, num_dispatch=6)
at /home/eric/svn/gcc/gcc/except.c:1394
#2 0x0000000000da9bbe in sjlj_build_landing_pads ()
at /home/eric/svn/gcc/gcc/except.c:1463
#3 0x0000000000da9d2d in finish_eh_generation ()
at /home/eric/svn/gcc/gcc/except.c:1497
#4 0x0000000000c7bd4c in (anonymous namespace)::pass_expand::execute (
this=0x39e6e60, fun=0x7ffff6924a80)
at /home/eric/svn/gcc/gcc/cfgexpand.c:6005
/* ??? For multiple dispatches we will end up with edges
from the loop tree root into this loop, making it a
multiple-entry loop. Discard all affected loops. */
if (num_dispatch > 1)
{
for (loop = bb->loop_father;
loop_outer (loop); loop = loop_outer (loop))
mark_loop_for_removal (loop);
}
but it is marked *twice* so loop->former_header is cleared the second time:
void
mark_loop_for_removal (loop_p loop)
{
loop->former_header = loop->header;
loop->header = NULL;
loop->latch = NULL;
loops_state_set (LOOPS_NEED_FIXUP);
}
The ICE occurs immediately after:
#0 internal_error (gmsgid=0x2ea5d27 "in %s, at %s:%d")
at /home/eric/svn/gcc/gcc/diagnostic.c:1219
#1 0x00000000028a1772 in fancy_abort (
file=0x2a09ca0 "/home/eric/svn/gcc/gcc/loop-init.c", line=263,
function=0x2a0a100 <fix_loop_structure(bitmap_head*)::__FUNCTION__>
"fix_loop_structure") at /home/eric/svn/gcc/gcc/diagnostic.c:1275
#2 0x000000000102a1cd in fix_loop_structure (changed_bbs=0x0)
at /home/eric/svn/gcc/gcc/loop-init.c:263
#3 0x00000000026b48d9 in cleanup_cfg (mode=16)
at /home/eric/svn/gcc/gcc/cfgcleanup.c:3083
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/64246] [5 Regression] ICE building libada for Windows due to NULL loop header
2014-12-10 1:23 [Bug middle-end/64246] New: [5 Regression] ICE building libada for Windows due to NULL loop header matt at gwalski dot com
` (4 preceding siblings ...)
2014-12-12 17:59 ` ebotcazou at gcc dot gnu.org
@ 2014-12-15 8:40 ` rguenth at gcc dot gnu.org
2014-12-15 9:04 ` ebotcazou at gcc dot gnu.org
` (6 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-12-15 8:40 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
We should make mark_loop_for_removal more robust then, I am testing
Index: gcc/cfgloop.c
===================================================================
--- gcc/cfgloop.c (revision 218733)
+++ gcc/cfgloop.c (working copy)
@@ -1928,9 +1928,10 @@ bb_loop_depth (const_basic_block bb)
void
mark_loop_for_removal (loop_p loop)
{
+ if (loop->header == NULL)
+ return;
loop->former_header = loop->header;
loop->header = NULL;
loop->latch = NULL;
loops_state_set (LOOPS_NEED_FIXUP);
}
I suppose extracting a testcase for this is too hard?
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/64246] [5 Regression] ICE building libada for Windows due to NULL loop header
2014-12-10 1:23 [Bug middle-end/64246] New: [5 Regression] ICE building libada for Windows due to NULL loop header matt at gwalski dot com
` (5 preceding siblings ...)
2014-12-15 8:40 ` rguenth at gcc dot gnu.org
@ 2014-12-15 9:04 ` ebotcazou at gcc dot gnu.org
2014-12-15 9:13 ` rguenther at suse dot de
` (5 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2014-12-15 9:04 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246
--- Comment #6 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> I suppose extracting a testcase for this is too hard?
Do you mean a testcase like the one I attached on Friday?
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/64246] [5 Regression] ICE building libada for Windows due to NULL loop header
2014-12-10 1:23 [Bug middle-end/64246] New: [5 Regression] ICE building libada for Windows due to NULL loop header matt at gwalski dot com
` (6 preceding siblings ...)
2014-12-15 9:04 ` ebotcazou at gcc dot gnu.org
@ 2014-12-15 9:13 ` rguenther at suse dot de
2014-12-15 9:30 ` ebotcazou at gcc dot gnu.org
` (4 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: rguenther at suse dot de @ 2014-12-15 9:13 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246
--- Comment #7 from rguenther at suse dot de <rguenther at suse dot de> ---
On Mon, 15 Dec 2014, ebotcazou at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246
>
> --- Comment #6 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> > I suppose extracting a testcase for this is too hard?
>
> Do you mean a testcase like the one I attached on Friday?
Yes, but in suitable form for gnat.dg (not sure how I can do
multi-file testcases there or which one would be the main one)
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/64246] [5 Regression] ICE building libada for Windows due to NULL loop header
2014-12-10 1:23 [Bug middle-end/64246] New: [5 Regression] ICE building libada for Windows due to NULL loop header matt at gwalski dot com
` (7 preceding siblings ...)
2014-12-15 9:13 ` rguenther at suse dot de
@ 2014-12-15 9:30 ` ebotcazou at gcc dot gnu.org
2014-12-15 9:34 ` ebotcazou at gcc dot gnu.org
` (3 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2014-12-15 9:30 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246
--- Comment #8 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> Yes, but in suitable form for gnat.dg (not sure how I can do
> multi-file testcases there or which one would be the main one)
Most testcases are multi-file under gnat.dg... I'm going to attach it.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/64246] [5 Regression] ICE building libada for Windows due to NULL loop header
2014-12-10 1:23 [Bug middle-end/64246] New: [5 Regression] ICE building libada for Windows due to NULL loop header matt at gwalski dot com
` (8 preceding siblings ...)
2014-12-15 9:30 ` ebotcazou at gcc dot gnu.org
@ 2014-12-15 9:34 ` ebotcazou at gcc dot gnu.org
2014-12-15 12:20 ` rguenth at gcc dot gnu.org
` (2 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2014-12-15 9:34 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246
--- Comment #9 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
Created attachment 34282
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34282&action=edit
Concatenated testcase for gnat.dg
To be gnatchop'ed and installed into the gnat.dg testsuite:
* gnat.dg/opt46.ad[sb]: New testcase.
* gnat.dg/opt46_pkg.ad[sb]: New helper.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/64246] [5 Regression] ICE building libada for Windows due to NULL loop header
2014-12-10 1:23 [Bug middle-end/64246] New: [5 Regression] ICE building libada for Windows due to NULL loop header matt at gwalski dot com
` (9 preceding siblings ...)
2014-12-15 9:34 ` ebotcazou at gcc dot gnu.org
@ 2014-12-15 12:20 ` rguenth at gcc dot gnu.org
2014-12-15 12:20 ` rguenth at gcc dot gnu.org
2015-03-05 14:28 ` yroux at gcc dot gnu.org
12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-12-15 12:20 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246
--- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Mon Dec 15 12:20:10 2014
New Revision: 218746
URL: https://gcc.gnu.org/viewcvs?rev=218746&root=gcc&view=rev
Log:
2014-12-15 Richard Biener <rguenther@suse.de>
PR middle-end/64246
* cfgloop.c (mark_loop_for_removal): Make safe against multiple
invocations on the same loop.
* gnat.dg/opt46.adb: New testcase.
* gnat.dg/opt46.ads: Likewise.
* gnat.dg/opt46_pkg.adb: Likewise.
* gnat.dg/opt46_pkg.ads: Likewise.
Added:
trunk/gcc/testsuite/gnat.dg/opt46.adb
trunk/gcc/testsuite/gnat.dg/opt46.ads
trunk/gcc/testsuite/gnat.dg/opt46_pkg.adb
trunk/gcc/testsuite/gnat.dg/opt46_pkg.ads
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cfgloop.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/64246] [5 Regression] ICE building libada for Windows due to NULL loop header
2014-12-10 1:23 [Bug middle-end/64246] New: [5 Regression] ICE building libada for Windows due to NULL loop header matt at gwalski dot com
` (10 preceding siblings ...)
2014-12-15 12:20 ` rguenth at gcc dot gnu.org
@ 2014-12-15 12:20 ` rguenth at gcc dot gnu.org
2015-03-05 14:28 ` yroux at gcc dot gnu.org
12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-12-15 12:20 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Eric Botcazou from comment #9)
> Created attachment 34282 [details]
> Concatenated testcase for gnat.dg
>
> To be gnatchop'ed and installed into the gnat.dg testsuite:
>
> * gnat.dg/opt46.ad[sb]: New testcase.
> * gnat.dg/opt46_pkg.ad[sb]: New helper.
Thanks - fixed.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/64246] [5 Regression] ICE building libada for Windows due to NULL loop header
2014-12-10 1:23 [Bug middle-end/64246] New: [5 Regression] ICE building libada for Windows due to NULL loop header matt at gwalski dot com
` (11 preceding siblings ...)
2014-12-15 12:20 ` rguenth at gcc dot gnu.org
@ 2015-03-05 14:28 ` yroux at gcc dot gnu.org
12 siblings, 0 replies; 14+ messages in thread
From: yroux at gcc dot gnu.org @ 2015-03-05 14:28 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246
--- Comment #12 from Yvan Roux <yroux at gcc dot gnu.org> ---
Author: yroux
Date: Thu Mar 5 14:28:05 2015
New Revision: 221216
URL: https://gcc.gnu.org/viewcvs?rev=221216&root=gcc&view=rev
Log:
gcc/
2015-03-05 Yvan Roux <yvan.roux@linaro.org>
Backport from trunk r212011, r214942, r214957, r215012, r215016, r218115,
r218733, r218746, r220491.
2015-02-06 Sebastian Pop <s.pop@samsung.com>
Brian Rzycki <b.rzycki@samsung.com>
PR tree-optimization/64878
* tree-ssa-threadedge.c: Include tree-ssa-loop.h.
(fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
Stop recursion at loop phi nodes after having visited a loop phi node.
2014-12-15 Richard Biener <rguenther@suse.de>
PR middle-end/64246
* cfgloop.c (mark_loop_for_removal): Make safe against multiple
invocations on the same loop.
2014-12-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/64284
* tree-ssa-threadupdate.c (duplicate_seme_region): Mark
the loop for removal if we copied the loop header.
2014-11-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/64083
* tree-ssa-threadupdate.c (thread_through_all_blocks): Do not
forcibly mark loop for removal the wrong way.
2014-09-08 Richard Biener <rguenther@suse.de>
PR ipa/63196
* tree-inline.c (copy_loops): The source loop header should
always be non-NULL.
(tree_function_versioning): If loops need fixup after removing
unreachable blocks fix them.
* omp-low.c (simd_clone_adjust): Do not add incr block to
loop under construction.
2014-09-08 Richard Biener <rguenther@suse.de>
PR bootstrap/63204
* cfgloop.c (mark_loop_for_removal): Track former header
unconditionally.
* cfgloop.h (struct loop): Add former_header member unconditionally.
* loop-init.c (fix_loop_structure): Enable bogus loop removal
diagnostic unconditionally.
2014-09-05 Richard Biener <rguenther@suse.de>
* cfgloop.c (mark_loop_for_removal): Record former header
when ENABLE_CHECKING.
* cfgloop.h (strut loop): Add former_header member when
ENABLE_CHECKING.
* loop-init.c (fix_loop_structure): Sanity check loops
marked for removal if they re-appeared.
2014-09-05 Richard Biener <rguenther@suse.de>
* cfgloop.c (mark_loop_for_removal): New function.
* cfgloop.h (mark_loop_for_removal): Declare.
* cfghooks.c (delete_basic_block): Use mark_loop_for_removal.
(merge_blocks): Likewise.
(duplicate_block): Likewise.
* except.c (sjlj_emit_dispatch_table): Likewise.
* tree-eh.c (cleanup_empty_eh_merge_phis): Likewise.
* tree-ssa-threadupdate.c (ssa_redirect_edges): Likewise.
(thread_through_loop_header): Likewise.
2014-06-26 Richard Biener <rguenther@suse.de>
PR tree-optimization/61607
* tree-ssa-threadupdate.c (ssa_redirect_edges): Cancel the
loop if we redirected its latch edge.
(thread_block_1): Do not cancel loops prematurely.
gcc/testsuite/
2015-03-05 Yvan Roux <yvan.roux@linaro.org>
Backport from trunk r218115, r218733, r218746, r220491.
2015-02-06 Sebastian Pop <s.pop@samsung.com>
Brian Rzycki <b.rzycki@samsung.com>
PR tree-optimization/64878
* testsuite/gcc.dg/tree-ssa/ssa-dom-thread-8.c: New.
2014-12-15 Richard Biener <rguenther@suse.de>
PR middle-end/64246
* gnat.dg/opt46.adb: New testcase.
* gnat.dg/opt46.ads: Likewise.
* gnat.dg/opt46_pkg.adb: Likewise.
* gnat.dg/opt46_pkg.ads: Likewise.
2014-12-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/64284
* gcc.dg/torture/pr64284.c: New testcase.
2014-11-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/64083
* gcc.dg/torture/pr64083.c: New testcase.
Added:
branches/linaro/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr64083.c
branches/linaro/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr64284.c
branches/linaro/gcc-4_9-branch/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-8.c
branches/linaro/gcc-4_9-branch/gcc/testsuite/gnat.dg/opt46.adb
branches/linaro/gcc-4_9-branch/gcc/testsuite/gnat.dg/opt46.ads
branches/linaro/gcc-4_9-branch/gcc/testsuite/gnat.dg/opt46_pkg.adb
branches/linaro/gcc-4_9-branch/gcc/testsuite/gnat.dg/opt46_pkg.ads
Modified:
branches/linaro/gcc-4_9-branch/gcc/ChangeLog.linaro
branches/linaro/gcc-4_9-branch/gcc/cfghooks.c
branches/linaro/gcc-4_9-branch/gcc/cfgloop.c
branches/linaro/gcc-4_9-branch/gcc/cfgloop.h
branches/linaro/gcc-4_9-branch/gcc/except.c
branches/linaro/gcc-4_9-branch/gcc/loop-init.c
branches/linaro/gcc-4_9-branch/gcc/omp-low.c
branches/linaro/gcc-4_9-branch/gcc/testsuite/ChangeLog.linaro
branches/linaro/gcc-4_9-branch/gcc/tree-eh.c
branches/linaro/gcc-4_9-branch/gcc/tree-inline.c
branches/linaro/gcc-4_9-branch/gcc/tree-ssa-threadedge.c
branches/linaro/gcc-4_9-branch/gcc/tree-ssa-threadupdate.c
^ permalink raw reply [flat|nested] 14+ messages in thread