* pa.c (compute_frame_size): Take an fregs_live parameter instead
of setting the static variable save_fregs.
(output_function_prologue): Initialize save_fregs to 0 and pass to
compute_frame_size.
From-SVN: r2477
recursive calls at this point is not safe.
(const_16_operand, const_24_operand, gpc_reg_or_immediate_operand):
Fix typo in declaration of MODE.
(and_operand, add_operand): Likwise.
From-SVN: r2457
Include gstddef.h and objc-proto.h.
Don't include objcP.h or objc-protoP.h.
Avoid use of u_int, etc. so no need for sys/types.h.
Adjust for change in node_table field data type.
Fix calls to DEBUG_PRINTF; no longer wants stream as arg.
From-SVN: r2456
(DEBUG_PRINT_REG): Define if not defined.
(print_rtx): Use DEBUG_PRINT_REG for hard regs.
(reg_name): Moved here.
Get rid of RCS headers. Fix up whitespace and comments.
Make key field and corresponding args `const void *'.
Don't use assert.
Get rid of spurious array-level in node_table field; make it void **.
Declare module_hash_table, class_hash_table.
(hash_int): Divide by sizeof (void *), not by 2**that minus 1.
From-SVN: r2455
(define_attr type): New types for SQRT.
(call patterns): Use SCRATCH for LR0.
Use new predicate call_operand so that some integers can be
used as addresses; fix CALLI so it doesn't accept constant.
(EXBYTE, EXTHW, INBYTE, INHW): Use ZERO_EXTEND instead of AND
when combine will make it.
Use PSImode for BP value and don't reference BP explicitly.
Clean up define_expands for these operations.
(rotlsi3): Use PSImode pseudo for FC.
(sign_extend): Sign extension insns clobber BP.
({load,store}_multiple): Use PSImode pseudo for CR.
(MTSR): Add pattern for TRUNCATE from SImode to PSImode.
(sqrtsf2, sqrtdf2, movpsi): New patterns.
(load/store bytes/halfword): Clean up to accept temporaries as
input and use PSImode when required.
(movhi, movqi): Allocate temporaries here.
(reload_inqi, reload_outqi, reload_inhi, reload_outhi): New patterns.
(movdf, movdi, movti): Use SCRATCH for BP register.
(reload_{in,out}{df,di,ti}): New patterns.
From-SVN: r2445
(CALL_USED_REGISTERS): LR0 is call-used.
(HARD_REGNO_MODE_OK): Handle MODE_PARTIAL_INT and the special
registers that can only hold those modes.
(MODES_TIEABLE_P): Clean up and handle MODE_PARTIAL_INT modes.
(enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add new
classes LR0_REGS, FC_REGS, and CR_REGS.
(REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Likewise.
(PREDICATE_CODES): Update for new and deleted predicates.
From-SVN: r2444
(spec_reg_operand): Validate mode and know that some regs support
MODE_PARTIAL_INT and some MODE_INT.
(call_operand, reload_memory_operand, a29k_get_reloaded_address)
New functions.
(in_operand): Allow constants with MODE_PARTIAL_INT.
(out_operand): Allow special registers with any mode.
Any MEM a word or wider is valid.
(extend_operator): Deleted.
(secondary_reload_class): A pseudo is the same as memory; we need
BP_REGS for multi-word memory or for bytes and halfword if -mndw.
(print_operand): Delete %X; add %m.
(print_operand, case 'F'): Check for SYMBOL_REF.
From-SVN: r2443
(loop_optimize): Verify that max_uid_for_loop is still
larger than the uid of any insn. Increase the number of exit
blocks from 4 to 32 per loop.
(find_and_verify_loops): Stop trying to relocate exit blocks when
allocating a new label would exceed max_uid_for_loop.
From-SVN: r2440