From: Jeffrey A Law Date: Fri, 11 May 2001 22:07:58 +0000 (+0000) Subject: gcse.c (insert_insn_end_bb): Do not search for assignments to non-argumment registers... X-Git-Tag: prereleases/libstdc++-3.0.95~4523 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8598a9a23232f91e55d76dab9800eefe5ab319cd;p=thirdparty%2Fgcc.git gcse.c (insert_insn_end_bb): Do not search for assignments to non-argumment registers that are mentioned in... * gcse.c (insert_insn_end_bb): Do not search for assignments to non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE. From-SVN: r41976 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d5acce97fc1f..5c7364231685 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ Fri May 11 15:50:13 2001 Jeffrey A Law (law@cygnus.com) + * gcse.c (insert_insn_end_bb): Do not search for assignments to + non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE. + * toplev.c (compile_file): Move comment for opening output file to just before the code that opens the output file. diff --git a/gcc/gcse.c b/gcc/gcse.c index 07bdbf5e21df..fa8ec0896996 100644 --- a/gcc/gcse.c +++ b/gcc/gcse.c @@ -4787,6 +4787,11 @@ insert_insn_end_bb (expr, bb, pre) if (REGNO (XEXP (XEXP (p, 0), 0)) >= FIRST_PSEUDO_REGISTER) abort (); + /* We only care about registers which can hold function + arguments. */ + if (! FUNCTION_ARG_REGNO_P (REGNO (XEXP (XEXP (p, 0), 0)))) + continue; + SET_HARD_REG_BIT (parm_regs, REGNO (XEXP (XEXP (p, 0), 0))); nparm_regs++; }