include tree.h
commit4b6897e96d2b29ff5c5e00a9fa7d62d48ca800f6
authorerich <erich@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 23 Jun 1994 16:02:41 +0000 (23 16:02 +0000)
committererich <erich@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 23 Jun 1994 16:02:41 +0000 (23 16:02 +0000)
tree3b26673421ad05c64b06014a4296ff3dd80df3cc
parentfac435147512513c1b8fa55bee061c8e3a767ba9
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7537 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/config/arm/arm.c