(target_{cpu,fpe}_name): Delete.
(arm_fpu_arch): New variable.
(arm_select): Also allow -march=... to configure just the
architecture.
(all_procs): Allow armv{2,2a,3,3m,4,4t} for use with -march=.
(arm_override_options): Handle -march=, but don't let -mcpu=
and -mtune= match the architecture names, since we can only
tune for an implementation. Rework selection of tuning options
for floating point.
(use_return_insn): Support interworking with Thumb code.
(arm_rtx_costs): Rework multiply costs so that cost is based on
the tune, not the architecture.
(f_register_operand): New function.
(output_return_instruction): Support interworking with Thumb code.
(output_func_epilogue): Support interworking with Thumb code.
Remove redundant calculation of code_size. Use floating-point
load-multiples if permitted.
(emit_sfm): New function.
(arm_expand_prologue): Use floating-point store-multiples if
permitted.
From-SVN: r14457
* calls.c (emit_library_call): Use right index into argvec array
when iterating over arguments which need to be pushed on the stack.
(emit_library_call_value): Likewise.
From-SVN: r14444
(schedule_block): Free space associated with reg_pending_sets and
old_live_regs.
(schedule_insns): Free bb_{dead,live}_regs on first pass.
(sched_analyze_insn): Use EXECUTE_IF_SET_IN_REG_SET and then clear.
From-SVN: r14426
(init_regset_vector): Make global; don't take basic block times # of pseduos
as argument.
(life_analysis): Change all init_regset_vector calls.
Use free_regset_vector to release arrays only flow uses at end.
(allocate_for_life_analysis): Change init_regset_vector call.
Don't set regset_{size,bytes}.
(free_regset_vector): Call FREE_REG_SET to release any memory allocated
by each vector.
(propagate_block): Call FREE_REG_SET on dead/live.
(mark_used_regs): Don't use REGSET_ELT_TYPE anymore.
From-SVN: r14422
(BASIC_BLOCK_H): New make variable for basic-block.h, bitmap.h.
({flow,combine,regclass,local-alloc,reload1,reorg,sched}.o): Use
BASIC_BLOCK_H variable instead of basic-block.h.
From-SVN: r14419
* mips.c (epilogue_reg_mentioned_p): Delete unused function.
(mips_epilogue_delay_slots): Likewise.
(function_epilogue): Greatly simplify.
(mips_expand_epilogue): If we have a null prologue/epilogue,
then use a normal return insn. Emit blockage insns before
stack pointer adjustments.
(mips_can_use_return_insn): Renamed from simple_epilogue_p. All
callers changed. Do not use return insns if $31 is live in the
function or if generating profiling information.
* mips.h (DELAY_SLOTS_FOR_EPILOGUE): Delete.
(ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
* mips.md (return): Remove expander and change the pattern to
look like a standard "return" insn.
(return_internal): Show use of $31 explictly.
(epilogue expander): Enable.
From-SVN: r14412