diff options
Diffstat (limited to 'gcc/config/arm/arm.h')
-rw-r--r-- | gcc/config/arm/arm.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index 5955d3ced66..f8edcccd968 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -900,7 +900,7 @@ extern const char * structure_size_string; scratch registers. */ \ for (regno = FIRST_IWMMXT_GR_REGNUM; \ regno <= LAST_IWMMXT_GR_REGNUM; ++ regno) \ - fixed_regs[regno] = call_used_regs[regno] = 0; \ + fixed_regs[regno] = 0; \ /* The XScale ABI has wR0 - wR9 as scratch registers, \ the rest as call-preserved registers. */ \ for (regno = FIRST_IWMMXT_REGNUM; \ @@ -1617,6 +1617,10 @@ enum reg_class || (TARGET_ARM && ((REGNO) == FIRST_FPA_REGNUM) \ && TARGET_HARD_FLOAT_ABI && TARGET_FPA)) +/* Amount of memory needed for an untyped call to save all possible return + registers. */ +#define APPLY_RESULT_SIZE arm_apply_result_size() + /* How large values are returned */ /* A C expression which can inhibit the returning of certain function values in registers, based on the type of value. */ @@ -1704,14 +1708,15 @@ typedef struct machine_function GTY(()) register is needed to preserve stack alignment. */ int sibcall_blocked; /* Labels for per-function Thumb call-via stubs. One per potential calling - register. We can never call via SP, LR or PC. */ - rtx call_via[13]; + register. We can never call via LR or PC. We can call via SP if a + trampoline happens to be on the top of the stack. */ + rtx call_via[14]; } machine_function; /* As in the machine_function, a global set of call-via labels, for code that is in text_section(). */ -extern GTY(()) rtx thumb_call_via_label[13]; +extern GTY(()) rtx thumb_call_via_label[14]; /* A C type for declaring a variable that is used as the first argument of `FUNCTION_ARG' and other related values. For some target machines, the |