* pa/pa.c (reloc_needed): New function.
* pa/pa.h (TEXT_SPACE_P): Variables/constants with initializers
requiring relocs never live in the text space.
From-SVN: r12156
* pa.c (hppa_legitimize_address): Don't lose for
(plus (plus (mult (A) (shadd_const)) (B)) (C)) if
B + C isn't a valid address for indexing.
(basereg_operand): Only accept base registers after
cse has completed. Don't accept the frame pointer if
it's likely to be eliminated.
* pa.md (unscaled indexing patterns): Add variants with
basereg and index register reversed.
(HImode and QImode loads): Add zero extended variants.
From-SVN: r11625
* pa.c (hppa_legitimize_address): Don't lose for x[n-const]
when n-const will not be shifted. Don't pessimize code for
x[n-const] when const is small.
From-SVN: r11579
* pa.c (compute_frame_size): Update comments to reflect reality.
(hppa_expand_prologue): Don't save registers which aren't
used, even if it creates holes. Partially undoes changes from
early March.
(hppa_expand_epilogue): Likewise.
From-SVN: r11567
* lib2funcs.asm (__outline_prologue): Remove frame pointer
support.
(__outline_prologue_fp): Out of line prologue with frame pointer.
(__outline_epilogue, outline_epilogue_fp): Similarly.
* pa.c (compute_frame_size): Allocate enough space to avoid holes
in the callee register saves. Remove some special handling of %r3.
(hppa_expand_prologue): Don't do an out of line prologue/epilogue
if it would take more insns than an inline prologue/epilogue.
Don't leave holes in the callee register save set.
(hppa_expand_prologue): Corresponding changes. Pass stack size
to out of line epilogue code.
* pa.h (FRAME_POINTER_REQUIRED): Revert last change.
* pa.md (outline_prologue_call): Handle outline prologues which
don't need frame pointers.
(outline_epilogue_call): Similarly.
* t-pro: Reenable multilib code. Build a set of libraries that
optimize for space.
From-SVN: r11483
* lib2funcs.asm (__outline_prologue): New "function".
(__outline_epilogue): New "function".
* pa.h (TARGET_SPACE): Define.
(target_flags): Add -mspace and -mno-space. Enable/disable
space saving optimizations.
(FRAME_POINTER_REQUIRED): Frame pointers are always required
when generating out of line prologues and epilogues.
* pa.c (compute_frame_size): Handle out of line prologues/epilogues.
(hppa_expand_prologue): If optimizing for space, emit an out of
line prologue.
* pa.c (compute_frame_size): Handle out of line prologues/epilogues.
(hppa_expand_prologue): If optimizing for space, emit an out of
line prologue.
(hppa_expand_epilogue): Similarly.
(override_options): Optimizing for space is not compatable with
either profiling or PIC code generation.
* pa.md (outline_prologue_call): New pattern.
(outline_epilogue_call): Likewise.
From-SVN: r11438
* pa.h (DBX_CONTIN_LENGTH): Define to 4000 characters.
* pa.c (hppa_expand_epilogue): Always emit a blockage insn
before cutting back the stack.
From-SVN: r11327
* sched.c (adjust_priority): Use ADJUST_PRIORITY if its defined.
* pa.h (ADJUST_PRIORITY): Define to keep lifetimes of registers
that will be allocated to %r1 shorter.
From-SVN: r10918
* 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