------- Comment #21 from hjl dot tools at gmail dot com  2008-07-24 20:29 
-------
(In reply to comment #18)
>
> 
> +#ifdef SECONDARY_OVERRIDE_OPTIONS
> +  /* Some machines may reject certain combinations of options.  */
> +  if (! first_time_p)
> +    SECONDARY_OVERRIDE_OPTIONS;
> +#endif
> +
>  #ifdef OPTIMIZATION_OPTIONS
>    /* Allow default optimizations to be specified on a per-machine basis.  */
>    OPTIMIZATION_OPTIONS (optimize, optimize_size);
> Index: gcc/config/ia64/ia64.h
> ===================================================================
> --- gcc/config/ia64/ia64.h      (revision 138117)
> +++ gcc/config/ia64/ia64.h      (working copy)
> @@ -121,6 +121,11 @@ extern enum processor_type ia64_tune;
> 
>  #define OVERRIDE_OPTIONS ia64_override_options ()
> 
> +/* Like OVERRIDE_OPTIONS, but run after the optimize, hot, or cold attributes
> +   are processed.  */
> +
> +#define SECONDARY_OVERRIDE_OPTIONS ia64_override_options ()
> +

I think we should just do

#ifdef SECONDARY_OVERRIDE_OPTIONS
  /* Some machines may reject certain combinations of options.  */
  SECONDARY_OVERRIDE_OPTIONS;
#endif

#define SECONDARY_OVERRIDE_OPTIONS ia64_secondary_override_options ()



void
ia64_override_options (void)
{
  if (TARGET_AUTO_PIC)
    target_flags |= MASK_CONST_GP;

  if (TARGET_INLINE_SQRT == INL_MIN_LAT)
    {    
      warning (0, "not yet implemented: latency-optimized inline square root");
      TARGET_INLINE_SQRT = INL_MAX_THR;
    }      

   ia64_section_threshold = g_switch_set ? g_switch_value :
IA64_DEFAULT_GVALUE;

  init_machine_status = ia64_init_machine_status;
}

void
ia64_secondary_override_options ()
{
  ia64_flag_schedule_insns2 = flag_schedule_insns_after_reload;
  flag_schedule_insns_after_reload = 0;
}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36907

Reply via email to