get_simple_loop_desc uses the XNEW macro to allocate the new loop description, thus the memory is not initialized. At least the desc->infinite field thus can remain uninitialized when the function returns.
As long as the optimizers only punt on infinity that can result in pseudo-random missed optimizations; as soon as something more intelligent is done with this information, this results in compiler crashes. I have a one-letter patch for this problem (plus two lines of comment), but we're still waiting for the FSF acknowledgement that our Copyright Assignment is on file. -- Summary: get_simple_loop_desc returns uninitialized memory Product: gcc Version: 4.4.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: amylaar at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39235