--- gcc/config/i386/i386.c.orig Sat Apr 17 14:13:52 1999 +++ gcc/config/i386/i386.c Sun Apr 18 15:52:52 1999 @@ -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 { @@ -1809,8 +1814,7 @@ char *name ATTRIBUTE_UNUSED; { rtx xops[2]; - int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table - || current_function_uses_const_pool); + int pic_reg_used = PIC_REG_USED; xops[0] = pic_offset_table_rtx; xops[1] = stack_pointer_rtx; @@ -2006,8 +2010,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; HOST_WIDE_INT tsize = ix86_compute_frame_size (get_frame_size (), (int *)0); rtx insn; int cfa_offset = INCOMING_FRAME_SP_OFFSET, cfa_store_offset = cfa_offset; @@ -2177,8 +2180,7 @@ 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); + int pic_reg_used = PIC_REG_USED; #ifdef NON_SAVING_SETJMP if (NON_SAVING_SETJMP && current_function_calls_setjmp) @@ -2224,8 +2226,7 @@ register int limit; int nregs; 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; int sp_valid = !frame_pointer_needed || current_function_sp_is_unchanging; HOST_WIDE_INT offset; HOST_WIDE_INT tsize = ix86_compute_frame_size (get_frame_size (), &nregs);