This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/37360] [4.4 Regression] ICE in haifa-sched.c when compiling __popcountsi2 from libgcc



------- Comment #13 from abel at ispras dot ru  2008-09-05 10:32 -------
(In reply to comment #12)
> I think it's reasonable to disable the assert with a comment for now and
> file a separate bugreport for the targets who lie about their issue rate.

Ok, with the below patch my failing test case compiles in an identical assembly
as it was compiled before the sel-sched merge.  I've also bootstrapped it on
x86_64.  If the patch will fix MIPS bootstrap, I think it can be committed as
obvious.

2008-09-05  Andrey Belevantsev  <abel@ispras.ru>

        PR 37360
        * haifa-sched.c (max_issue): Do not assert that we never issue more
insns than issue_rate.
        Add comment.

Index: gcc/haifa-sched.c
===================================================================
*** gcc/haifa-sched.c   (revision 140031)
--- gcc/haifa-sched.c   (working copy)
*************** max_issue (struct ready_list *ready, int
*** 2071,2077 ****
    /* Init max_points.  */
    max_points = 0;
    more_issue = issue_rate - cycle_issued_insns;
!   gcc_assert (more_issue >= 0);

    for (i = 0; i < n_ready; i++)
      if (!ready_try [i])
--- 2071,2084 ----
    /* Init max_points.  */
    max_points = 0;
    more_issue = issue_rate - cycle_issued_insns;
! 
!   /* ??? We used to assert here that we never issue more insns than
issue_rate.
!      However, some targets (e.g. MIPS/SB1) claim lower issue rate than can be
!      achieved to get better performance.  Until these targets are fixed to
use
!      scheduler hooks to manipulate insns priority instead, the assert should 
!      be disabled.  
! 
!      gcc_assert (more_issue >= 0);  */

    for (i = 0; i < n_ready; i++)
      if (!ready_try [i])


-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]