diff options
author | Richard Stallman <rms@gnu.org> | 1993-03-25 05:43:12 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-03-25 05:43:12 +0000 |
commit | d1e37dc7e8bee5ba20eb7c04148a9e6cf379d946 (patch) | |
tree | 571dca1e99150cb7482b6477315fec1e2e7b091d /gcc | |
parent | 3615587a37d3a302ab9ac8d3ac638bdc9eb24e71 (diff) | |
download | gcc-d1e37dc7e8bee5ba20eb7c04148a9e6cf379d946.zip gcc-d1e37dc7e8bee5ba20eb7c04148a9e6cf379d946.tar.gz gcc-d1e37dc7e8bee5ba20eb7c04148a9e6cf379d946.tar.bz2 |
(fixup_var_refs_insns): Don't delete an insn copying
var to itself, if it's the end of a libcall group.
From-SVN: r3873
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/function.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/function.c b/gcc/function.c index 473fcf3..b3a599a 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -1012,6 +1012,9 @@ fixup_var_refs_insns (var, promoted_mode, unsignedp, insn, toplevel) if (toplevel && GET_CODE (PATTERN (insn)) == SET && SET_DEST (PATTERN (insn)) == var + /* If this represents the result of an insn group, + don't delete the insn. */ + && find_reg_note (insn, REG_RETVAL, NULL_RTX) == 0 && rtx_equal_p (SET_SRC (PATTERN (insn)), var)) { /* In unoptimized compilation, we shouldn't call delete_insn |