summaryrefslogtreecommitdiff
path: root/gcc/calls.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-12-05 22:37:41 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-12-05 22:37:41 +0000
commit8a06f2d42e7ea26635cdec8c373ddcacef4a5651 (patch)
tree16fd35f587497e051ac05a7ae930fd07de7f29ba /gcc/calls.c
parent1e17e73d9ec782d727fb91d99133a964dbf7fd91 (diff)
downloadgcc-8a06f2d42e7ea26635cdec8c373ddcacef4a5651.tar.gz
* attribs.c (handle_no_check_memory_usage_atribute): Deleted.
(c_com): Delete its reference. * builtins.c: Delete memory checking code. * calls.c, expr.c, function.c, stmt.c: Likewise. * builtins.c (expand_builtin_arg_info): Remove reference to EXPAND_MEMORY_USE_* modifiers. * explow.c (expr_size): Likewise. * expr.c (expand_expr, expand_increment): Likewise. * expr.h (ARGS_SIZE_RTX): Likewise. * function.c (assign_parms, expand_pending_sizeso): Likewise. * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE. * expr.c (in_check_memory_usage): Delete. (get_push_address, get_memory_usage_from_modifier): Delete. (expand_assigment): Use EXPAND_WRITE on destination. (expand_expr): Delete ro_modifier. * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and add EXPAND_WRITE. (memory_use_mode): Delete. * flags.h (flag_check_memory_usage): Deleted. (flag_prefix_function_name): Likewise. * function.c (expand_function_start): Don't set current_function_check_memory_usage. * function.h (check_memory_usage): Delete. * libfuncs.h, optabs.c: Delete chkr_* stuff. * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to EXPAND_WRITE. * toplev.c (flag_check_memory_usage): Deleted. (flag_prefix_function_name): Likewise. (f_options, process_options): Delete references to above. * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted. * varasm.c (CHKR_PREFIX): Deleted. (make_decl_rtl): Remove flag_prefix_function_name handling. (assemble_name): Likewise. * doc/extend.texi: Remove no_check_memory_usage attribute. * doc/invoke.texi: Remove -fcheck-memory-usage and -fprefix-function-name. * cp/decl.c (duplicate_decls): Don't copy DECL_NO_CHECK_MEMORY_USAGE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47697 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/calls.c')
-rw-r--r--gcc/calls.c42
1 files changed, 2 insertions, 40 deletions
diff --git a/gcc/calls.c b/gcc/calls.c
index f4637bc1242..2ab670bb32b 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -1675,17 +1675,6 @@ rtx_for_function_call (fndecl, exp)
funaddr = funexp
= expand_expr (TREE_OPERAND (exp, 0), NULL_RTX, VOIDmode, 0);
pop_temp_slots (); /* FUNEXP can't be BLKmode. */
-
- /* Check the function is executable. */
- if (current_function_check_memory_usage)
- {
-#ifdef POINTERS_EXTEND_UNSIGNED
- if (GET_MODE (funexp) != ptr_mode)
- funaddr = convert_memory_address (ptr_mode, funexp);
-#endif
- emit_library_call (chkr_check_exec_libfunc, LCT_CONST_MAKE_BLOCK,
- VOIDmode, 1, funaddr, ptr_mode);
- }
emit_queue ();
}
return funexp;
@@ -2162,13 +2151,6 @@ expand_call (exp, target, ignore)
/* The alignment of the stack, in bytes. */
HOST_WIDE_INT preferred_unit_stack_boundary;
- /* The value of the function call can be put in a hard register. But
- if -fcheck-memory-usage, code which invokes functions (and thus
- damages some hard registers) can be inserted before using the value.
- So, target is always a pseudo-register in that case. */
- if (current_function_check_memory_usage)
- target = 0;
-
/* See if this is "nothrow" function call. */
if (TREE_NOTHROW (exp))
flags |= ECF_NOTHROW;
@@ -3014,16 +2996,6 @@ expand_call (exp, target, ignore)
force_operand (structure_value_addr,
NULL_RTX)));
- /* Mark the memory for the aggregate as write-only. */
- if (current_function_check_memory_usage)
- emit_library_call (chkr_set_right_libfunc, LCT_CONST_MAKE_BLOCK,
- VOIDmode, 3,
- structure_value_addr, ptr_mode,
- GEN_INT (struct_value_size),
- TYPE_MODE (sizetype),
- GEN_INT (MEMORY_USE_WO),
- TYPE_MODE (integer_type_node));
-
if (GET_CODE (struct_value_rtx) == REG)
use_reg (&call_fusage, struct_value_rtx);
}
@@ -4422,18 +4394,8 @@ store_one_arg (arg, argblock, flags, variable_size, reg_parm_stack_space)
do_pending_stack_adjust ();
if (arg->value == arg->stack)
- {
- /* If the value is already in the stack slot, we are done. */
- if (current_function_check_memory_usage && GET_CODE (arg->stack) == MEM)
- {
- emit_library_call (chkr_set_right_libfunc, LCT_CONST_MAKE_BLOCK,
- VOIDmode, 3, XEXP (arg->stack, 0), Pmode,
- ARGS_SIZE_RTX (arg->size),
- TYPE_MODE (sizetype),
- GEN_INT (MEMORY_USE_RW),
- TYPE_MODE (integer_type_node));
- }
- }
+ /* If the value is already in the stack slot, we are done. */
+ ;
else if (arg->mode != BLKmode)
{
int size;