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 tree-optimization/81090] [8 Regression] [graphite] ICE in loop_preheader_edge


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81090

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
So amending scev_reset to do free_numbers_of_iterations_estimates causes issues
with complete peeling which uses gimple_duplicate_loop_to_header_edge which
calls scev_reset (peeling invalidates cached CHRECs for the loop header PHIs
and derived SSA names) but then using ->bounds to mark paths in the loop copies
as gcc_unreachable () (remove_exits_and_undefined_stmts).  That looks fishy
somewhat, also because we defer this operation when processing adjacent loops
which will then eventually clear estimates before the 2nd adjacent loop is
processed (that might still work in the end if we only reset estimates for
a single loop at a time or estimates are computed on-demand again when using
the correct API).  Even more ugly so we ggc_free bounds ...

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