From 4dca5ec5b8066d1ba161e3c5c93d6ff383bcf567 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Tue, 18 Oct 1994 19:10:20 -0400 Subject: [PATCH] (can_combine_p): Don't combine into CALL_INSN where DEST is a global reg. From-SVN: r8305 --- gcc/combine.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/combine.c b/gcc/combine.c index 27875e51e5e..4399bb0863e 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -875,7 +875,11 @@ can_combine_p (insn, i3, pred, succ, pdest, psrc) /* Can't merge a function call. */ || GET_CODE (src) == CALL /* Don't eliminate a function call argument. */ - || (GET_CODE (i3) == CALL_INSN && find_reg_fusage (i3, USE, dest)) + || (GET_CODE (i3) == CALL_INSN + && (find_reg_fusage (i3, USE, dest) + || (GET_CODE (dest) == REG + && REGNO (dest) < FIRST_PSEUDO_REGISTER + && global_regs[REGNO (dest)]))) /* Don't substitute into an incremented register. */ || FIND_REG_INC_NOTE (i3, dest) || (succ && FIND_REG_INC_NOTE (succ, dest)) -- 2.30.2