e2c671bad7
include tree.h (const_ok_for_arm): Add fast return for 0 or just a single non-zero bit. (const_ok_for_op): New function. (arm_split_constant): New function. (arm_rtx_costs): New function. (reg_or_int_operand): New function. (shift_operator): Accept ROTATERT. (multi_register_push): New function. (shift_op): Don't abort if a constant is outside the acceptable range, but convert the whole shift expression into something legal. If the shift is zero, then return NULL. (output_return_instruction): Output a call to abort if the function is volatile. (arm_volatile_func): New function. (get_prologue_size): Remove all adjustments for insns that are now output as rtx. (output_func_prologue): Remove all code that outputs instructions, just print a few comments. (output_func_epilogue): Output a call to abort if a volatile function tries to return. (emit_multi_reg_push): New function. (arm_expand_prologue): New function. Don't bother to push call-saved regs if we will never return. (arm_print_operand, case 'S'): If shift_op returns NULL, then no shift is required. From-SVN: r7537 |
||
---|---|---|
gcc |