Kenneth Zadeck <zad...@naturalbridge.com> writes: > Given that Richard Sandiford advised on all of the non trivial changes, > I am going to check this patch in in the next few days unless i hear > some comments otherwise.
TBH I'd only looked at the ones you flagged. This time... > diff -puNr '--exclude=.git' '--exclude=.svn' gccBaseline/gcc/cfgexpand.c > gccWide/gcc/cfgexpand.c > --- gccBaseline/gcc/cfgexpand.c 2012-07-22 16:55:01.235983016 -0400 > +++ gccWide/gcc/cfgexpand.c 2012-07-25 19:42:16.456201001 -0400 > @@ -3634,7 +3634,7 @@ expand_debug_locations (void) > || (GET_MODE (val) == VOIDmode > && (CONST_INT_P (val) > || GET_CODE (val) == CONST_FIXED > - || GET_CODE (val) == CONST_DOUBLE > + || CONST_DOUBLE_P (val) > || GET_CODE (val) == LABEL_REF))); should be CONST_DOUBLE_AS_INT_P (because we know it's VOIDmode already). > - if ((CONSTANT_P (op) && !CONST_INT_P (op) > - && (GET_CODE (op) != CONST_DOUBLE || GET_MODE (op) != VOIDmode)) > + if ((CONSTANT_P (op) && !CONST_INT_P (op) && !CONST_DOUBLE_AS_INT_P > (op)) Long line (keep on two). > +/* Predicate yielding true iff X is an rtx for a double-int. */ > +#define CONST_DOUBLE_AS_INT_P(X) (GET_CODE (X) == CONST_DOUBLE && GET_MODE > (X) == VOIDmode) > + > +/* Predicate yielding true iff X is an rtx for a double-int. */ > +#define CONST_DOUBLE_AS_FLOAT_P(X) (GET_CODE (X) == CONST_DOUBLE && GET_MODE > (X) != VOIDmode) > + Long lines. Should be: #define CONST_DOUBLE_AS_INT_P(X) \ (GET_CODE (X) == CONST_DOUBLE && GET_MODE (X) == VOIDmode) etc. > - && (CONST_INT_P (XEXP (op0, 1)) > - || GET_CODE (XEXP (op0, 1)) == CONST_DOUBLE) > + && (CONST_INT_P (XEXP (op0, 1)) || CONST_DOUBLE_AS_INT_P (XEXP (op0, > 1))) Long line (keep on two). > - && (CONST_INT_P (XEXP (op0, 1)) > - || GET_CODE (XEXP (op0, 1)) == CONST_DOUBLE) > + && (CONST_INT_P (XEXP (op0, 1)) || CONST_DOUBLE_AS_INT_P (XEXP (op0, > 1))) Same. > - && (CONST_INT_P (op1) > - || GET_CODE (op1) == CONST_DOUBLE) > - && (CONST_INT_P (XEXP (op0, 1)) > - || GET_CODE (XEXP (op0, 1)) == CONST_DOUBLE)) > + && (CONST_INT_P (op1) || CONST_DOUBLE_AS_INT_P (op1)) > + && (CONST_INT_P (XEXP (op0, 1)) || CONST_DOUBLE_AS_INT_P (XEXP (op0, > 1)))) Same. Looks good otherwise. Richard