[Bug c/12674] New: codegen bug using unit-at-a-time

cato at df dot lth dot se gcc-bugzilla@gcc.gnu.org
Sat Oct 18 20:03:00 GMT 2003


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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

           Summary: codegen bug using unit-at-a-time
           Product: gcc
           Version: 3.4
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: cato at df dot lth dot se
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i386-unknown-netbsdelf1.6
  GCC host triplet: i386-unknown-netbsdelf1.6
GCC target triplet: i386-unknown-netbsdelf1.6

gcc.dg/20021014-1.c execution test have failed on i386-unknown-netbsdelf1.6
since unit-at-a-time got enabled for -O2:

   Fri Sep  5 07:35:16 CEST 2003  Jan Hubicka  <jh@suse.cz>

           * opts.c (decode_options): Enable unit-at-a-time at -O2.
           * params.def (max-inline-insns-single): Set to 500
           (max-inline-insns-auto): Set to 150
           * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.

I have tested gcc.dg/20021014-1.c with the -funit-at-a-time flag on
earlier versions of the compiler, and have found out that the test
started to fail after the change:

   Wed Mar  5 02:04:04 CET 2003  Jan Hubicka  <jh@suse.cz>

          * toplev.c (rest_of_compilation):  Deffer RTL compilation only when
          RTL inlining is done.

          * cgraphunit.c (cgraph_mark_local_functions): New local function.
          (cgraph_optimize): Mark local functions.
          * i386-protos.h (init_cumulative_args): Update prototype.
          * i386.c (init_cumulative_args): Use register passing convention for
          local functions.

          * cgraph.c (cgraph_global_info_ready): New global variable
          (cgraph_local_info, cgraph_global_info): New functions.
          * cgraph.h (struct cgraph_local_info, cgraph_global_info): New
          structures.
          (cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
          Declare.
          * cgraphunit.c (cgraph_finalize_function): Set inline_many.
          (cgraph_mark_functions_to_output): Use inline_many.
          (cgraph_expand_function): Free DECL_SAVED_TREE uncondtionally.
          (cgraph_expand_functions): Expand inline functions last.
          (cgraph_optimize): Do not emit uneeded functions.

   /Krister



More information about the Gcc-bugs mailing list