summaryrefslogtreecommitdiffstats
path: root/gcc/function.c
diff options
context:
space:
mode:
authorrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>1993-03-25 05:43:12 +0000
committerrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>1993-03-25 05:43:12 +0000
commitadf1204791089a3d2252a147bdc44ddcc51d0895 (patch)
tree571dca1e99150cb7482b6477315fec1e2e7b091d /gcc/function.c
parent5200e74e8e366217fd4b1ec0ed50857834b60ef2 (diff)
downloadppe42-gcc-adf1204791089a3d2252a147bdc44ddcc51d0895.tar.gz
ppe42-gcc-adf1204791089a3d2252a147bdc44ddcc51d0895.zip
(fixup_var_refs_insns): Don't delete an insn copying
var to itself, if it's the end of a libcall group. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3873 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 473fcf30171..b3a599a61a4 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
OpenPOWER on IntegriCloud