Kris Kennaway wrote:
On Mon, Jul 14, 2003 at 05:37:45PM -0400, Chuck Swiger wrote:
The "known bugs" section of the GCC info documentation lists 5 issues; "man gcc" lists none. Can someone provide a test case for a bug involving "cc -O" versus "cc -O3" under FreeBSD 4-STABLE for the x86 architecture?

Probably not, or it would have already been fixed.

Hopefully so, as the compiler toolchain is important. :-)


The warning against using FreeBSD with settings higher than -O1 (==
-O) is because it often causes bugs that are difficult to track down
(e.g. some aspect of the kernel just doesn't work properly).

OK. Can the existence of such problems be confirmed reliably, say by regression testing? /usr/src/contrib/gcc/toplev.c is clear enough which specific optimizations are involved at the different number levels:


  if (optimize >= 1)
    {
      flag_defer_pop = 1;
      flag_thread_jumps = 1;
#ifdef DELAY_SLOTS
      flag_delayed_branch = 1;
#endif
#ifdef CAN_DEBUG_WITHOUT_FP
      flag_omit_frame_pointer = 1;
#endif
    }

  if (optimize >= 2)
    {
      flag_cse_follow_jumps = 1;
      flag_cse_skip_blocks = 1;
      flag_gcse = 1;
      flag_expensive_optimizations = 1;
      flag_strength_reduce = 1;
      flag_rerun_cse_after_loop = 1;
      flag_rerun_loop_opt = 1;
      flag_caller_saves = 1;
      flag_force_mem = 1;
#ifdef INSN_SCHEDULING
      flag_schedule_insns = 1;
      flag_schedule_insns_after_reload = 1;
#endif
      flag_regmove = 1;
    }

  if (optimize >= 3)
    {
      flag_inline_functions = 1;
    }

Couldn't one compile with "cc -O -finline-functions", and then iterate through "-fcse-follow-jumps", "-fgcse", etc and see which optimizations are safe?

--
-Chuck


_______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to