On Wed, 14 May 2014, Andrey Belevantsev wrote:

> Hello,
> 
> As described in the PR in more details, this ICE is about the scheduler not
> being able to initialize its data structures for the new unconditional jump
> created when redirecting an edge and simplifying control flow.  It so happens
> that the new jump is the only unscheduled instruction being left so we need to
> pass some of its data from the old jump.  The difficulty is to support only
> this particular situation to retain the existing checking code and to pass
> down the required information to the point where it is needed.
> 
> I assume that we are able to use default parameters as I haven't heard
> otherwise.

Default parameters are used now in several functions such as 'build_assign',
'c_build_vec_perm_expr', so that should be fine.

> Bootstrapped and tested on x86-64, OK for trunk and branches?  Branches should
> also be safe as we're fixing only very specific corner case (hey, we regressed
> four releases and nobody noticed until now).

OK for trunk and 4.8, but not applicable for 4.7 since that branch does not
use C++ as implementation language.

Alexander

Reply via email to