summaryrefslogtreecommitdiff
path: root/lang/pgcc/files/patch-ah
diff options
context:
space:
mode:
authorDavid E. O'Brien <obrien@FreeBSD.org>1999-05-24 17:13:07 +0000
committerDavid E. O'Brien <obrien@FreeBSD.org>1999-05-24 17:13:07 +0000
commit89227c0f8d217f9f3f3a9f2872886e2cd3bac159 (patch)
tree6240571a92ddb0c0a0b4993d3c9a620210339559 /lang/pgcc/files/patch-ah
parentUpgrade 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-ah87
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 ();
+