diff options
Diffstat (limited to 'gcc/gimple-ssa-strength-reduction.c')
-rw-r--r-- | gcc/gimple-ssa-strength-reduction.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/gimple-ssa-strength-reduction.c b/gcc/gimple-ssa-strength-reduction.c index 0e52a86153f..ce32ad33e94 100644 --- a/gcc/gimple-ssa-strength-reduction.c +++ b/gcc/gimple-ssa-strength-reduction.c @@ -972,7 +972,7 @@ slsr_process_ref (gimple *gs) tree ref_expr, base, offset, type; HOST_WIDE_INT bitsize, bitpos; machine_mode mode; - int unsignedp, volatilep; + int unsignedp, reversep, volatilep; slsr_cand_t c; if (gimple_vdef (gs)) @@ -987,7 +987,9 @@ slsr_process_ref (gimple *gs) return; base = get_inner_reference (ref_expr, &bitsize, &bitpos, &offset, &mode, - &unsignedp, &volatilep, false); + &unsignedp, &reversep, &volatilep, false); + if (reversep) + return; widest_int index = bitpos; if (!restructure_reference (&base, &offset, &index, &type)) |