From a8d6ade370f2755c35c18aeaa9a713c1beb6a6a8 Mon Sep 17 00:00:00 2001 From: amonakov Date: Fri, 8 Apr 2011 11:49:43 +0000 Subject: PR target/48273 * cfgloop.h (loop_has_exit_edges): New helper. * sel-sched-ir.c (init_global_and_expr_for_insn): Make CALLs non-clonable. * sel-sched.c (sel_setup_region_sched_flags): Don't pipeline loops that have no exit edges. testsuite: * g++.dg/opt/pr48273.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172175 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/cfgloop.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'gcc/cfgloop.h') diff --git a/gcc/cfgloop.h b/gcc/cfgloop.h index f7bb1341a63..0ff44de67d3 100644 --- a/gcc/cfgloop.h +++ b/gcc/cfgloop.h @@ -443,6 +443,14 @@ loop_outer (const struct loop *loop) return VEC_index (loop_p, loop->superloops, n - 1); } +/* Returns true if LOOP has at least one exit edge. */ + +static inline bool +loop_has_exit_edges (const struct loop *loop) +{ + return loop->exits->next->e != NULL; +} + /* Returns the list of loops in current_loops. */ static inline VEC (loop_p, gc) * -- cgit v1.2.1