From e72f998d695bfdaa608ea49d8b0f6438b563e282 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Sat, 2 Aug 1997 13:22:50 -0400 Subject: [PATCH] (clipper_builtin_saveregs): If -fcheck-memory-usage, set rights of saved registers. From-SVN: r14621 --- gcc/config/clipper/clipper.c | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/gcc/config/clipper/clipper.c b/gcc/config/clipper/clipper.c index 9ee6f444981..20da229eae1 100644 --- a/gcc/config/clipper/clipper.c +++ b/gcc/config/clipper/clipper.c @@ -1,6 +1,5 @@ /* Subroutines for insn-output.c for Clipper - Copyright (C) 1987, 1988, 1991 Free Software Foundation, Inc. - + Copyright (C) 1987, 1988, 1991, 1997 Free Software Foundation, Inc. Contributed by Holger Teutsch (holger@hotbso.rhein-main.de) This file is part of GNU CC. @@ -438,10 +437,31 @@ clipper_builtin_saveregs (arglist) gen_rtx (CONST_INT, Pmode, 16))), scratch); + + if (flag_check_memory_usage) + { + emit_library_call (chkr_set_right_libfunc, 1, VOIDmode, 3, addr, + ptr_mode, GEN_INT (5 * GET_MODE_SIZE (SImode)), + TYPE_MODE (sizetype), + GEN_INT (MEMORY_USE_RW), QImode); + + emit_library_call (chkr_set_right_libfunc, 1, VOIDmode, 3, f0_addr, + ptr_mode, GEN_INT (GET_MODE_SIZE (DFmode)), + TYPE_MODE (sizetype), GEN_INT (MEMORY_USE_RW), QImode); + emit_library_call (chkr_set_right_libfunc, 1, VOIDmode, 3, f1_addr, + ptr_mode, GEN_INT (GET_MODE_SIZE (DFmode)), + TYPE_MODE (sizetype), GEN_INT (MEMORY_USE_RW), QImode); + emit_library_call (chkr_set_right_libfunc, 1, VOIDmode, 3, r0_addr, + ptr_mode, GEN_INT (GET_MODE_SIZE (SImode)), + TYPE_MODE (sizetype), GEN_INT (MEMORY_USE_RW), QImode); + emit_library_call (chkr_set_right_libfunc, 1, VOIDmode, 3, r1_addr, + ptr_mode, GEN_INT (GET_MODE_SIZE (SImode)), + TYPE_MODE (sizetype), GEN_INT (MEMORY_USE_RW), QImode); + } + /* Return the address of the va_list constructor, but don't put it in a register. This fails when not optimizing and produces worse code when optimizing. */ - return XEXP (block, 0); } -- 2.30.2