(extend{qihi,qisi,hisi}2): Allow unaligned memory as arg 1 and pass to
extend_{q,h}idi2.
(unaligned_extend{q,h}idi): New patterns.
(extend{q,h}idi2): If unaligned memory, call above new patterns.
(ext{q,l,w}h recognizer): Update to proper RTL.
(ext define_split): Comment out for now; wrong and maybe useless.
(unaligned_{load,store}hi): Do similarly to QImode.
(movhi, reload_{in,out}hi): Call unaligned case differently.
From-SVN: r10882
(initialize_for_inline): Pass additional args to gen_inline_header.
(save_for_inline_copying): Make new regno_reg_rtx, regno_pointer_flag,
and regno_pointer_align arrays.
(expand_inline_function): Set alignment of reg for parm if passed by
hidden pointer.
Set regno_pointer_{flag,align} into remap table.
(copy_rtx_and_substitute): Set alignment of pointers into stack frame.
Copy pointer flag and alignment to regs that are copies of
pointer registers from the original regs.
(output_inline_function): Don't call restore_reg_data.
Restore reg_rtx_no, regno_{reg_rtx,pointer_flag,pointer_align}.
From-SVN: r10877
(set_nonzero_bits_and_sign_copies): Handle reg even
if only set once and in one basic block.
(nonzero_bits, case REG): Use REGNO_POINTER_ALIGN instead of
explicit alignment of registers pointing into frame.
From-SVN: r10870
(expand_expr, case VAR_DECL): Set REGNO_POINTER_ALIGN
when copying address into memory.
(expand_expr, case COMPONENT_REF, case ADDR_EXPR): Set alignment
of register when result or result's address.
(expand_expr, case CONVERT_EXPR): Don't handle -fforce-mem here.
From-SVN: r10869
(gen_reg_rtx): Extend regno_pointer_align table.
Allocate tables in saveable obstack.
(mark_reg_pointer): New arg, ALIGN.
(gen_inline_header): New args for reg info.
(set_new_first_and_last_insn): Set cur_insn_uid.
({save,restore}_emit_status): Save and restore regno_pointer_align.
(restore_reg_data{,_1}): Deleted.
(init_emit): Allocate register tables in saveable obstack.
Set REGNO_POINTER_ALIGN for regs pointing into frame.
From-SVN: r10865
* pa.c (output_function_epilogue): Use assemble_integer rather
than calling ASM_OUTPUT_INT directly.
* pa.h (ASM_OUTPUT_INT): Use plabels for everything in the
exception table section.
* pa.c (print_operand): Don't call fprintf to output a register
name. Use fputs instead.
From-SVN: r10861
Extension for -ax option (profile_block_flag == 2).
(MACHINE_STATE_SAVE,MACHINE_STATE_RESTORE): New macros.
(FUNCTION_BLOCK_PROFILER_EXIT): New macro.
From-SVN: r10852
(HAVE_POPEN): Test new define.
(struct __bb, struct bb_{edge,func}): New structs.
(__bb_init_{prg,file},__bb_{init,exit}_trace_func,__bb_trace_ret,
(__bb_trace_func{,_ret},gopen,gclose): New functions.
From-SVN: r10850
(clear_by_pieces{,_1}, {is,mostly}_zeros_p): New functions.
(clrstr_optab): New optab.
(clear_storage): Rework to try to use clear_by_pieces, then
new clrstr insn, then library call.
(store_constructor): Track if target is already cleared.
Clear target first if CONSTRUCTOR is mostly zeros.
Don't write zeros if target has been cleared.
Add new arg to clear_storage call.
(expand_expr, case CONSTRUCTOR): Don't put static constructor
in memory if mostly zero.
From-SVN: r10842