summaryrefslogtreecommitdiff
path: root/gcc/config/pa/pa-protos.h
diff options
context:
space:
mode:
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>2010-09-08 23:32:06 +0000
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>2010-09-08 23:32:06 +0000
commit68bc9ae64c729fe49f9fa57cd1176cdb5257d7f3 (patch)
treeec559029d98ecf0e7d227c8916f91d3c8652a9eb /gcc/config/pa/pa-protos.h
parent2e35a08e78b6eb906c254c45428f3a1d9b1ae29f (diff)
downloadgcc-68bc9ae64c729fe49f9fa57cd1176cdb5257d7f3.tar.gz
PR target/45250
* config/pa/pa.md (nonlocal_goto): Restore hard frame pointer using hard_frame_pointer_rtx instead of virtual_stack_vars_rtx. (builtin_longjmp): Likewise. (allocate_stack): Use hard_frame_pointer_rtx instead of frame_pointer_rtx. * config/pa/pa-protos.h (pa_initial_elimination_offset): Declare. * config/pa/pa.c (pa_internal_arg_pointer): Declare. (pa_can_eliminate): Likewise. (TARGET_INTERNAL_ARG_POINTER): Define. (TARGET_CAN_ELIMINATE): Define. (hppa_expand_prologue): Use hard frame pointer instead of soft frame pointer. (hppa_expand_epilogue, pa_eh_return_handler_rtx): Likewise. (pa_internal_arg_pointer, pa_can_eliminate, pa_initial_elimination_offset): New. * config/pa/pa.h (FRAME_POINTER_REGNUM): Set to new general register. (HARD_FRAME_POINTER_REGNUM): Set to register three. (INITIAL_FRAME_POINTER_OFFSET): Delete. (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET, DWARF_FRAME_REGISTERS): Define. (DWARF_ALT_FRAME_RETURN_COLUMN, REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update to include soft frame pointer. * config/pa/pa32-regs.h (FIRST_PSEUDO_REGISTER): Increase by one. (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER, REG_CLASS_CONTENTS, REGNO_REG_CLASS, REGISTER_NAMES): Update to include new soft frame pointer. * config/pa/pa64-regs.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164036 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/pa/pa-protos.h')
-rw-r--r--gcc/config/pa/pa-protos.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/config/pa/pa-protos.h b/gcc/config/pa/pa-protos.h
index 68d7591f84c..8097c58cdbb 100644
--- a/gcc/config/pa/pa-protos.h
+++ b/gcc/config/pa/pa-protos.h
@@ -171,6 +171,7 @@ extern void pa_hpux_asm_output_external (FILE *, tree, const char *);
extern bool pa_cannot_change_mode_class (enum machine_mode, enum machine_mode,
enum reg_class);
extern bool pa_modes_tieable_p (enum machine_mode, enum machine_mode);
+extern HOST_WIDE_INT pa_initial_elimination_offset (int, int);
extern const int magic_milli[];
extern int shadd_constant_p (int);