The following fixes a bit-load.c bug as well as avoids the warnings for two other cases.
Bootstrapped and tested on x86_64-unknown-linux-gnu. Ok? Thanks, Richard. 2017-02-21 Richard Biener <rguent...@suse.de> * bt-load.c (compute_defs_uses_and_gen): Clear call_saved. * fixed-value.c (fixed_from_string): Use wi::ulow and wi::uhigh. (fixed_convert_from_real): Likewise. * ipa-cp.c (ipcp_store_vr_results): Do not uselessly initialize VR_VARYING min/max. Index: gcc/bt-load.c =================================================================== --- gcc/bt-load.c (revision 245620) +++ gcc/bt-load.c (working copy) @@ -543,6 +543,7 @@ compute_defs_uses_and_gen (btr_heap_t *a int i; /* Check for sibcall. */ + CLEAR_HARD_REG_SET (call_saved); if (GET_CODE (pat) == PARALLEL) for (i = XVECLEN (pat, 0) - 1; i >= 0; i--) if (ANY_RETURN_P (XVECEXP (pat, 0, i))) Index: gcc/fixed-value.c =================================================================== --- gcc/fixed-value.c (revision 245620) +++ gcc/fixed-value.c (working copy) @@ -130,8 +130,8 @@ fixed_from_string (FIXED_VALUE_TYPE *f, real_arithmetic (&fixed_value, MULT_EXPR, &real_value, &base_value); wide_int w = real_to_integer (&fixed_value, &fail, GET_MODE_PRECISION (mode)); - f->data.low = w.elt (0); - f->data.high = w.elt (1); + f->data.low = w.ulow (); + f->data.high = w.uhigh (); if (temp == FIXED_MAX_EPS && ALL_FRACT_MODE_P (f->mode)) { @@ -1049,8 +1049,8 @@ fixed_convert_from_real (FIXED_VALUE_TYP wide_int w = real_to_integer (&fixed_value, &fail, GET_MODE_PRECISION (mode)); - f->data.low = w.elt (0); - f->data.high = w.elt (1); + f->data.low = w.ulow (); + f->data.high = w.uhigh (); temp = check_real_for_fixed_mode (&real_value, mode); if (temp == FIXED_UNDERFLOW) /* Minimum. */ { Index: gcc/ipa-cp.c =================================================================== --- gcc/ipa-cp.c (revision 245620) +++ gcc/ipa-cp.c (working copy) @@ -4959,7 +4959,6 @@ ipcp_store_vr_results (void) { vr.known = false; vr.type = VR_VARYING; - vr.min = vr.max = wi::zero (INT_TYPE_SIZE); } ts->m_vr->quick_push (vr); }