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

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Steven Bosscher from comment #3)
> This fix is wrong.
> (http://gcc.gnu.org/viewcvs?view=revision&revision=159495)
> 
> There is a check at the start of cleanup_cfg to always set the
> CLEANUP_CFGLAYOUT flag whenever we're in cfglayout mode:
> 
> 120893     steven   /* Set the cfglayout mode flag here.  We could update
> all the callers
> 120893     steven      but that is just inconvenient, especially given that
> we eventually
> 120893     steven      want to have cfglayout mode as the default.  */
> 120893     steven   if (current_ir_type () == IR_RTL_CFGLAYOUT)
> 120893     steven     mode |= CLEANUP_CFGLAYOUT;
> 120893     steven
> 
> 
> So this part of your fix:
> 
> -               if ((mode & CLEANUP_CFGLAYOUT)
> +                   if (current_ir_type () == IR_RTL_CFGLAYOUT)
> 
> is incorrect.

So the way I read this is that the fix is not wrong, just it uses the new check
instead of the old way. Now I am not sure what about the status of always using
cfglayout because what I remember is that is used all the way until post
reload(RA) now.

Reply via email to