aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1997-04-01 18:33:45 -0700
committerJeff Law <law@gcc.gnu.org>1997-04-01 18:33:45 -0700
commit22ef4e9b59f8df4b3a8e37d178426b2cfe059657 (patch)
treedd8d664c5789730a9a8a40c022140026db3891e9 /gcc/function.c
parente8adce1747d6a07982425c014a7e1ae2639ce04b (diff)
downloadgcc-22ef4e9b59f8df4b3a8e37d178426b2cfe059657.zip
gcc-22ef4e9b59f8df4b3a8e37d178426b2cfe059657.tar.gz
gcc-22ef4e9b59f8df4b3a8e37d178426b2cfe059657.tar.bz2
stdarg.h: Include va-mn10300.h.
* ginclude/stdarg.h: Include va-mn10300.h. * ginclude/varargs.h: Likewise. * ginclude/va-mn10300.h: New file. * mn10300/mn10300.c (expand_prologue): If current_function_varargs is nonzero, then flush d0/d1 back into the stack. (mn10300_builtin_saveregs): New function. (function_arg, function_arg_partial_nregs): New functions. (initial_offset): Tweak now that the RP save area is allocated and deallocated around each call again. * mn10300/mn10300.h (FIRST_PARM_OFFSET): Now 4. (FRAME_POINTER_REQUIRED): Require a frame pointer for all non-leaf functions. (REG_PARM_STACK_SPACE): Now 8 bytes. (FUNCTION_ARG_REGNO_P): Update for new parameter passing conventions. (CUMULATIVE_ARGS, INIT_CUMULATIVE_ARGS): Likewise. (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Likewise. (FUNCTION_ARG_PARTIAL_NREGS): Likewise. (TRAMPOLINE_TEMPLATE): Don't clobber d0 anymore. (TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Corresponding changes. (EXPAND_BUILTIN_SAVEREGS): Define. * mn10300/mn10300.md (call, call_value patterns): Allocate and deallocate a stack slot for the return pointer around each call. * mn10300/mn10300.h (RTX_COSTS): Refine. (CASE_VALUES_THRESHHOLD, NO_FUNCTION_CSE): Likewise. * mn10300/mn10300.c (output_tst): New function. * mn10300/mn10300.md (movdi, movdf): Improve code to load constants into registers. (tst insns): Use output_tst to optimize some cases. Add versions to encourage more zero extensions instead of sign extensions of HImode and QImode values. (divsi3, udivsi3): Remove patterns. Replaced by... (divmodsi4, udivmodsi4): New expanders/patterns. (andsi3): Optimize "and" operations with certain constants. From-SVN: r13827
Diffstat (limited to 'gcc/function.c')
0 files changed, 0 insertions, 0 deletions