* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168225
138bc75d-0d04-0410-961f-
82ee72b054a4
+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>
Richard Guenther <rguenther@suse.de>
if (!JUMP_P (jump))
return NULL;
- if (any_uncondjump_p (jump))
- return single_succ (BLOCK_FOR_INSN (jump));
-
if (!any_condjump_p (jump))
return NULL;
|| ! in_current_region_p (fallthru_bb))
return MOVEUP_EXPR_NULL;
- /* And it should be mutually exclusive with through_insn, or
- be an unconditional jump. */
- if (! any_uncondjump_p (insn)
- && ! sched_insns_conditions_mutex_p (insn, through_insn)
+ /* And it should be mutually exclusive with through_insn. */
+ if (! sched_insns_conditions_mutex_p (insn, through_insn)
&& ! DEBUG_INSN_P (through_insn))
return MOVEUP_EXPR_NULL;
}
+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>
PR fortran/31821
--- /dev/null
+// { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } }
+// { dg-options "-fschedule-insns -fselective-scheduling -fno-dce" }
+
+
+void foo ()
+{
+ for (;;)
+ for (;;({break;}));
+}
+