From fe987bb33ef8137c1f6af3959ec208cd0b7da073 Mon Sep 17 00:00:00 2001 From: ktkachov Date: Tue, 10 Nov 2015 09:22:58 +0000 Subject: [PATCH] [haifa-sched] PR rtl-optimization/68236: Exit early from autoprefetcher lookahead if not in haifa sched PR rtl-optimization/68236 * haifa-sched.c (autopref_multipass_dfa_lookahead_guard): Return 0 if insn_queue doesn't exist. (haifa_sched_finish): Reset insn_queue to NULL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230088 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 7 +++++++ gcc/haifa-sched.c | 6 +++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5abb84b..f9ae060 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2015-11-10 Kyrylo Tkachov + + PR rtl-optimization/68236 + * haifa-sched.c (autopref_multipass_dfa_lookahead_guard): Return 0 + if insn_queue doesn't exist. + (haifa_sched_finish): Reset insn_queue to NULL. + 2015-11-10 Robert Suchanek * regrename.c (create_new_chain): Initialize renamed and tied_chain. diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c index 835648b..e712110 100644 --- a/gcc/haifa-sched.c +++ b/gcc/haifa-sched.c @@ -5803,7 +5803,10 @@ autopref_multipass_dfa_lookahead_guard (rtx_insn *insn1, int ready_index) { int r = 0; - if (PARAM_VALUE (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH) <= 0) + /* Exit early if the param forbids this or if we're not entering here through + normal haifa scheduling. This can happen if selective scheduling is + explicitly enabled. */ + if (!insn_queue || PARAM_VALUE (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH) <= 0) return 0; if (sched_verbose >= 2 && ready_index == 0) @@ -7477,6 +7480,7 @@ haifa_sched_finish (void) sched_deps_finish (); sched_finish_luids (); current_sched_info = NULL; + insn_queue = NULL; sched_finish (); } -- 2.7.4