Richard Biener <richard.guent...@gmail.com> writes: > On Mon, Sep 9, 2013 at 3:11 PM, Richard Sandiford > <rdsandif...@googlemail.com> wrote: >> Enabling the CONST_INT assert showed that this branch-local code was >> passing the wrong mode to std::make_pair. The mode of X is OLDMODE, >> and we're supposed to be converting it to MODE. >> >> In the case where OLDMODE is VOIDmode, I think we have to assume >> that every bit of the input is significant. >> >> Tested on x86_64-linux-gnu. OK to install? >> >> This and the other patches that I just committed to trunk are enough >> for a bootstrap and regression test to pass on x86_64-linux-gnu with >> the assertion for a canonical CONST_INT enabled. I think it would be >> better to leave the assertion out until after the merge though, >> so we can deal with any fallout separately. > > If consuming code assumes CONST_INTs are canonical we better leave it > in though.
Yeah, I think the patch Kenny's working on is going to canonise CONST_INTs via the scratch array, to avoid making any assumptions. I think we should keep that for the merge and only swap it for an assert later. Thanks, Richard