[Bug rtl-optimization/34999] New: Fallthru crossing edges in partition_hot_cold_basic_blocks are not been fixed when the section ends with call insn

eres at il dot ibm dot com gcc-bugzilla@gcc.gnu.org
Mon Jan 28 16:20:00 GMT 2008


I run built-in-setjmp.c testcase (taken from gcc.c-torture/execute dir);
first with -fprofile-generate -freorder-blocks-and-partition
and then with -fprofile-use -freorder-blocks-and-partition
under x86_64 and ppc64-linux with r131883 mainline and I get the ICE:

vn/build/build/spu/gcc/gcc/testsuite/gcc/built-in-setjmp.c -fprofile-use
-freorder-blocks-and-partition
../gcc/gcc/testsuite/gcc.c-torture/execute/built-in-setjmp.c: In function
âmainâ:
../gcc/gcc/testsuite/gcc.c-torture/execute/built-in-setjmp.c:39: internal
compiler error: in add_labels_and_missing_jumps, at bb-reorder.c:1304
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

The code for fixing up fallthru edges that cross between hot and cold sections
is in add_labels_and_missing_jumps () and fix_up_fall_thru_edges () functions.
The first function deals with fallthru edges with single successor and the
later
deals with fallthru edges with more than one successor.

It seems that the cause to this fail is because both of the functions do not
take into account the fact that a basic-block with a crossing edge can end with
a call insn.  I am working to fix that.


-- 
           Summary: Fallthru crossing edges in
                    partition_hot_cold_basic_blocks are not been fixed when
                    the section ends with call insn
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: eres at il dot ibm dot com


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



More information about the Gcc-bugs mailing list