diff options
author | David E. O'Brien <obrien@FreeBSD.org> | 1999-05-24 17:13:07 +0000 |
---|---|---|
committer | David E. O'Brien <obrien@FreeBSD.org> | 1999-05-24 17:13:07 +0000 |
commit | 89227c0f8d217f9f3f3a9f2872886e2cd3bac159 (patch) | |
tree | 6240571a92ddb0c0a0b4993d3c9a620210339559 /lang/pgcc/files/patch-ah | |
parent | Upgrade to NPS (non-preemtive thread scheduling library), version 0.9.8 (diff) |
Upgrade to version 1.1.3, and sync with changes to the egcs port.
Notes
Notes:
svn path=/head/; revision=18978
Diffstat (limited to 'lang/pgcc/files/patch-ah')
-rw-r--r-- | lang/pgcc/files/patch-ah | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/lang/pgcc/files/patch-ah b/lang/pgcc/files/patch-ah new file mode 100644 index 000000000000..8aa3792b1950 --- /dev/null +++ b/lang/pgcc/files/patch-ah @@ -0,0 +1,87 @@ +--- gcc/config/i386/i386.c.orig Wed May 12 17:51:23 1999 ++++ gcc/config/i386/i386.c Wed May 12 17:54:30 1999 +@@ -54,6 +54,11 @@ + #define CHECK_STACK_LIMIT -1 + #endif + ++#define PIC_REG_USED \ ++ (flag_pic && (current_function_uses_pic_offset_table \ ++ || current_function_uses_const_pool \ ++ || profile_flag || profile_block_flag)) ++ + /* Type of an operand for ix86_{binary,unary}_operator_ok */ + enum reg_mem + { +@@ -1987,13 +1992,11 @@ + char *name ATTRIBUTE_UNUSED; + { + rtx xops[2]; +- int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table +- || current_function_uses_const_pool); + xops[0] = pic_offset_table_rtx; + xops[1] = stack_pointer_rtx; + + /* Deep branch prediction favors having a return for every call. */ +- if (pic_reg_used && TARGET_DEEP_BRANCH_PREDICTION) ++ if (PIC_REG_USED && TARGET_DEEP_BRANCH_PREDICTION) + { + tree prologue_node; + +@@ -2123,8 +2126,7 @@ + register int regno; + int limit; + rtx xops[4]; +- int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table +- || current_function_uses_const_pool); ++ int pic_reg_used = PIC_REG_USED; + long tsize = ix86_frame_size (); + rtx insn; + int cfa_offset = INCOMING_FRAME_SP_OFFSET, cfa_store_offset = cfa_offset; +@@ -2290,8 +2292,6 @@ + int nregs = 0; + int reglimit = (frame_pointer_needed + ? FRAME_POINTER_REGNUM : STACK_POINTER_REGNUM); +- int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table +- || current_function_uses_const_pool); + + #ifdef NON_SAVING_SETJMP + if (NON_SAVING_SETJMP && current_function_calls_setjmp) +@@ -2303,7 +2303,7 @@ + + for (regno = reglimit - 1; regno >= 0; regno--) + if ((regs_ever_live[regno] && ! call_used_regs[regno]) +- || (regno == PIC_OFFSET_TABLE_REGNUM && pic_reg_used)) ++ || (regno == PIC_OFFSET_TABLE_REGNUM && PIC_REG_USED)) + nregs++; + + return nregs == 0 || ! frame_pointer_needed; +@@ -2337,8 +2337,7 @@ + register int nregs, limit; + int offset; + rtx xops[3]; +- int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table +- || current_function_uses_const_pool); ++ int pic_reg_used = PIC_REG_USED; + long tsize = ix86_frame_size (); + + /* Compute the number of registers to pop */ +@@ -5714,8 +5713,7 @@ + { + int regno; + int offset = 0; +- int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table +- || current_function_uses_const_pool); ++ int pic_reg_used = PIC_REG_USED; + int tsize = get_frame_size (); + + for (regno = 0; regno < STACK_POINTER_REGNUM; regno++) +@@ -5741,8 +5739,7 @@ + { + int regno; + int offset = 0; +- int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table +- || current_function_uses_const_pool); ++ int pic_reg_used = PIC_REG_USED; + int limit = (frame_pointer_needed ? FRAME_POINTER_REGNUM : STACK_POINTER_REGNUM); + int tsize = get_frame_size (); + |