diff options
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/function.c b/gcc/function.c index fd0fb54bfdd..3c6466b5281 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -602,6 +602,23 @@ assign_stack_local (enum machine_mode mode, HOST_WIDE_INT size, int align) { return assign_stack_local_1 (mode, size, align, cfun); } + +/* APPLE LOCAL begin new function for rs6000 consumption */ +/* Wrapper around assign_stack_local_1; assign a local stack slot for the + current function, then set the mem_alias to a new alias set. + This can be used only in situations where the target code can + guarantee that the slot is used in a way that cannot conflict + with anything else. */ + +rtx +assign_stack_local_with_alias (enum machine_mode mode, HOST_WIDE_INT size, + int align) +{ + rtx mem = assign_stack_local_1 (mode, size, align, cfun); + set_mem_alias_set (mem, new_alias_set ()); + return mem; +} +/* APPLE LOCAL end new function for rs6000 consumption */ /* Allocate a temporary stack slot and record it for possible later reuse. @@ -5205,6 +5222,8 @@ assign_parms (tree fndecl) /* We have aligned all the args, so add space for the pretend args. */ stack_args_size.constant += extra_pretend_bytes; current_function_args_size = stack_args_size.constant; + /* APPLE LOCAL sibcall 3007352 */ + cfun->unrounded_args_size = stack_args_size.constant; /* Adjust function incoming argument size for alignment and minimum length. */ |