From 3ba7165675e75dadfec748d6d9abede2e403e2d7 Mon Sep 17 00:00:00 2001 From: Doug Evans Date: Fri, 24 Sep 1993 19:36:23 +0000 Subject: [PATCH] rtl.h: (HARD_FRAME_POINTER_REGNUM): New macro. * rtl.h: (HARD_FRAME_POINTER_REGNUM): New macro. (hard_frame_pointer_rtx): New variable From-SVN: r5449 --- gcc/rtl.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gcc/rtl.h b/gcc/rtl.h index c65afba9f73..fa91347b000 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -826,6 +826,7 @@ extern rtx const_tiny_rtx[3][(int) MAX_MACHINE_MODE]; go through these unique rtx objects. */ extern rtx stack_pointer_rtx; extern rtx frame_pointer_rtx; +extern rtx hard_frame_pointer_rtx; extern rtx arg_pointer_rtx; extern rtx pic_offset_table_rtx; extern rtx struct_value_rtx; @@ -833,6 +834,16 @@ extern rtx struct_value_incoming_rtx; extern rtx static_chain_rtx; extern rtx static_chain_incoming_rtx; +/* If HARD_FRAME_POINTER_REGNUM is defined, then a special dummy reg + is used to represent the frame pointer. This is because the + hard frame pointer and the automatic variables are separated by an amount + that cannot be determined until after register allocation. We can assume + that in this case ELIMINABLE_REGS will be defined, one action of which + will be to eliminate FRAME_POINTER_REGNUM into HARD_FRAME_POINTER_REGNUM. */ +#ifndef HARD_FRAME_POINTER_REGNUM +#define HARD_FRAME_POINTER_REGNUM FRAME_POINTER_REGNUM +#endif + /* Virtual registers are used during RTL generation to refer to locations into the stack frame when the actual location isn't known until RTL generation is complete. The routine instantiate_virtual_regs replaces these with -- 2.30.2