mirror of
https://git.FreeBSD.org/ports.git
synced 2024-10-31 21:57:12 +00:00
b3a3e327ec
The gcc-2.95.2 bits have been repo copied to ports/lang/gcc295. GCC 2.95.2 does not work for some people's code. GCC 3.0 will be even worse. So it looks like we'll have to keep a port for each version of GCC we've ever used.
68 lines
2.2 KiB
Plaintext
68 lines
2.2 KiB
Plaintext
--- gcc/config/i386/i386.c.orig Sat Sep 5 22:52:05 1998
|
|
+++ gcc/config/i386/i386.c Wed Oct 7 17:06:48 1998
|
|
@@ -51,6 +51,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
|
|
{
|
|
@@ -1938,13 +1943,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;
|
|
|
|
@@ -2074,8 +2077,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 = get_frame_size ();
|
|
rtx insn;
|
|
int cfa_offset = INCOMING_FRAME_SP_OFFSET, cfa_store_offset = cfa_offset;
|
|
@@ -2245,8 +2247,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)
|
|
@@ -2258,7 +2258,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;
|
|
@@ -2292,8 +2292,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 = get_frame_size ();
|
|
|
|
/* Compute the number of registers to pop */
|