re PR rtl-optimization/47036 (ICE: in move_cond_jump, at sel-sched.c:4901 with -fschedule-insns -fselective-scheduling -fno-dce)
PR rtl-optimization/47036 * sel-sched-ir.c (fallthru_bb_of_jump): Remove special support for unconditional jumps. * sel-sched.c (moveup_expr): Ditto. testsuite: * g++.dg/opt/pr47036.C: New. From-SVN: r168225
This commit is contained in:
parent
07818af47b
commit
eb277bf19c
@ -1,3 +1,10 @@
|
|||||||
|
2010-12-24 Alexander Monakov <amonakov@ispras.ru>
|
||||||
|
|
||||||
|
PR rtl-optimization/47036
|
||||||
|
* sel-sched-ir.c (fallthru_bb_of_jump): Remove special support for
|
||||||
|
unconditional jumps.
|
||||||
|
* sel-sched.c (moveup_expr): Ditto.
|
||||||
|
|
||||||
2010-12-23 Sebastian Pop <sebastian.pop@amd.com>
|
2010-12-23 Sebastian Pop <sebastian.pop@amd.com>
|
||||||
Richard Guenther <rguenther@suse.de>
|
Richard Guenther <rguenther@suse.de>
|
||||||
|
|
||||||
|
@ -4441,9 +4441,6 @@ fallthru_bb_of_jump (rtx jump)
|
|||||||
if (!JUMP_P (jump))
|
if (!JUMP_P (jump))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if (any_uncondjump_p (jump))
|
|
||||||
return single_succ (BLOCK_FOR_INSN (jump));
|
|
||||||
|
|
||||||
if (!any_condjump_p (jump))
|
if (!any_condjump_p (jump))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
@ -2171,10 +2171,8 @@ moveup_expr (expr_t expr, insn_t through_insn, bool inside_insn_group,
|
|||||||
|| ! in_current_region_p (fallthru_bb))
|
|| ! in_current_region_p (fallthru_bb))
|
||||||
return MOVEUP_EXPR_NULL;
|
return MOVEUP_EXPR_NULL;
|
||||||
|
|
||||||
/* And it should be mutually exclusive with through_insn, or
|
/* And it should be mutually exclusive with through_insn. */
|
||||||
be an unconditional jump. */
|
if (! sched_insns_conditions_mutex_p (insn, through_insn)
|
||||||
if (! any_uncondjump_p (insn)
|
|
||||||
&& ! sched_insns_conditions_mutex_p (insn, through_insn)
|
|
||||||
&& ! DEBUG_INSN_P (through_insn))
|
&& ! DEBUG_INSN_P (through_insn))
|
||||||
return MOVEUP_EXPR_NULL;
|
return MOVEUP_EXPR_NULL;
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2010-12-24 Alexander Monakov <amonakov@ispras.ru>
|
||||||
|
|
||||||
|
PR rtl-optimization/47036
|
||||||
|
* g++.dg/opt/pr47036.C: New.
|
||||||
|
|
||||||
2010-12-24 Thomas Koenig <tkoenig@gcc.gnu.org>
|
2010-12-24 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||||
|
|
||||||
PR fortran/31821
|
PR fortran/31821
|
||||||
|
10
gcc/testsuite/g++.dg/opt/pr47036.C
Normal file
10
gcc/testsuite/g++.dg/opt/pr47036.C
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
// { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } }
|
||||||
|
// { dg-options "-fschedule-insns -fselective-scheduling -fno-dce" }
|
||||||
|
|
||||||
|
|
||||||
|
void foo ()
|
||||||
|
{
|
||||||
|
for (;;)
|
||||||
|
for (;;({break;}));
|
||||||
|
}
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user