diff options
author | Alexander Monakov <amonakov@ispras.ru> | 2011-04-08 15:49:43 +0400 |
---|---|---|
committer | Alexander Monakov <amonakov@gcc.gnu.org> | 2011-04-08 15:49:43 +0400 |
commit | 07643d76c74845e250bdedca6b7148ebccff780b (patch) | |
tree | b24f6232438679f7da43611698b485f6401bd044 /gcc/sel-sched-ir.c | |
parent | 1f3b2b4e2914cbb5750e23acf609c5c5b7ca42a3 (diff) | |
download | gcc-07643d76c74845e250bdedca6b7148ebccff780b.zip gcc-07643d76c74845e250bdedca6b7148ebccff780b.tar.gz gcc-07643d76c74845e250bdedca6b7148ebccff780b.tar.bz2 |
re PR target/48273 (ICE: in create_copy_of_insn_rtx, at sel-sched-ir.c:5604 with -fsel-sched-pipelining -fselective-scheduling2 -march=core2)
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.
From-SVN: r172175
Diffstat (limited to 'gcc/sel-sched-ir.c')
-rw-r--r-- | gcc/sel-sched-ir.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c index 67484dd..95c1431 100644 --- a/gcc/sel-sched-ir.c +++ b/gcc/sel-sched-ir.c @@ -2905,6 +2905,7 @@ init_global_and_expr_for_insn (insn_t insn) if (CANT_MOVE (insn) || INSN_ASM_P (insn) || SCHED_GROUP_P (insn) + || CALL_P (insn) /* Exception handling insns are always unique. */ || (cfun->can_throw_non_call_exceptions && can_throw_internal (insn)) /* TRAP_IF though have an INSN code is control_flow_insn_p (). */ |