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 middle-end/53411] [4.8 Regression] ICE in move_unallocated_pseudos


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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vmakarov at gcc dot gnu.org

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-08-13 11:24:31 UTC ---
ira itself also removes something, e.g. in
          rebuild_jump_labels (get_insns ());
          if (purge_all_dead_edges ())
            delete_unreachable_blocks ();
so I wouldn't move that
  if (delete_trivially_dead_insns (get_insns (), max_reg_num ()))
    df_analyze ();
too early in the function.  But perhaps it could be moved before the
  /* It is not worth to do such improvement when we use a simple
     allocation because of -O0 usage or because the function is too
     big.  */
  if (ira_conflicts_p)
    find_moveable_pseudos ();
hunk.  Vlad, what do you think?  There is still ira_flattening that tweaks the
RTL in between, dunno if it could create trivially dead insns or not.  Moving
d_t_d_i call before f_m_p call certainly fixes both of the testcases too,
haven't bootstrapped/regtested either of the patches yet.


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