From 0f06be5a06718ce7b670f4ffe9f971a830381757 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Sat, 27 Jan 2018 07:28:15 +0100 Subject: re PR middle-end/84040 (compilation time of gcc.c-torture/compile/limits-blockid.c is 50x slower) PR middle-end/84040 * sched-deps.c (sched_macro_fuse_insns): Return immediately for debug insns. From-SVN: r257119 --- gcc/sched-deps.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gcc/sched-deps.c') diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c index 3971861..2d0199d 100644 --- a/gcc/sched-deps.c +++ b/gcc/sched-deps.c @@ -2834,10 +2834,16 @@ static void sched_macro_fuse_insns (rtx_insn *insn) { rtx_insn *prev; + /* No target hook would return true for debug insn as any of the + hook operand, and with very large sequences of only debug insns + where on each we call sched_macro_fuse_insns it has quadratic + compile time complexity. */ + if (DEBUG_INSN_P (insn)) + return; prev = prev_nonnote_nondebug_insn (insn); if (!prev) return; - + if (any_condjump_p (insn)) { unsigned int condreg1, condreg2; -- cgit v1.1