(arm_gen_constant): New function.
(arm_split_constant): Split most of the functionality into arm_gen_constant. Try to decide which way of handling the constant is optimal for the target processor. (arm_prgmode): New enum. (target_{cpu,fpe}_name, arm_fast_multiply, arm_arch4): New variables. (all_procs): New table describing processors and capabilities. (arm_override_options): New function. (arm_return_in_memory): New function. (arm_rtx_costs): Adjust the multiply costs to cope with processors with fast multiplication instructions. (output_move_double): Use the ldm/stm variants more efficiently. Delete cases that can no-longer occur. (output_return_instruction, output_func_epilogue): Use TARGET_APCS_32, not TARGET_6 for determining the type of return instruction to emit. (final_prescan_insn case CALL_INSN): Use TARGET_APCS_32, not TARGET_6 to determine condition preservation. ({symbol,label}_mentioned_p): New functions. (add_constant, dump_table, fixit, find_barrier, broken_move): New support functions for handling constant spilling. (arm_reorg): New constant spilling pass, for putting unhandlable constants into the rtl where we can load them efficiently. (output_load_symbol): Delete. (strings_fpa): Use a form which is common to both GAS and ARMASM. (output_return_instruction, output_func_epilogue): Call assemble_external_libcall, before trying to generate an abort call in the assembler. (arm_asm_output_label): Call ARM_OUTPUT_LABEL, rather than assuming that labels are followed by a colon. (aof_text_section, aof_add_import, aof_delete_import, aof_dump_imports): New functions to support ARMASM assembler generation. From-SVN: r10680
Showing
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment