From: Kyrylo Tkachov Date: Tue, 10 Nov 2015 09:22:58 +0000 (+0000) Subject: [haifa-sched] PR rtl-optimization/68236: Exit early from autoprefetcher lookahead... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=df554b0e49e59c974e45ab21a3a2b4295ce348b2;p=gcc.git [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. From-SVN: r230088 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5abb84bc793..f9ae0601b79 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 835648b688a..e712110b2d8 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 (); }