summaryrefslogtreecommitdiff
path: root/gcc/tree-scalar-evolution.c
diff options
context:
space:
mode:
authorAlan Lawrence <alan.lawrence@arm.com>2015-11-02 12:39:31 +0000
committerAlan Lawrence <alalaw01@gcc.gnu.org>2015-11-02 12:39:31 +0000
commit35e2be9fc91767188cad3448f8a1434e8461e199 (patch)
tree85a69d806b80a8d611381bc98bddc6367780a53c /gcc/tree-scalar-evolution.c
parentf4155d214e283f70e7a397577473443e2968f4a7 (diff)
Revert: tree-scalar-evolution.c: Handle LSHIFT by constant
gcc/: tree-scalar-evolution.c (interpret_rhs_expr): Handle some LSHIFT_EXPRs as equivalent MULT_EXPRs. gcc/testsuite/: gcc.dg/vect/vect-strided-shift.c: New. From-SVN: r229660
Diffstat (limited to 'gcc/tree-scalar-evolution.c')
-rw-r--r--gcc/tree-scalar-evolution.c14
1 files changed, 0 insertions, 14 deletions
diff --git a/gcc/tree-scalar-evolution.c b/gcc/tree-scalar-evolution.c
index 3045c051aa7..bb27b070dba 100644
--- a/gcc/tree-scalar-evolution.c
+++ b/gcc/tree-scalar-evolution.c
@@ -1827,20 +1827,6 @@ interpret_rhs_expr (struct loop *loop, gimple *at_stmt,
res = chrec_fold_multiply (type, chrec1, chrec2);
break;
- case LSHIFT_EXPR:
- /* Handle A<<B as A * (1<<B). */
- chrec1 = analyze_scalar_evolution (loop, rhs1);
- chrec2 = analyze_scalar_evolution (loop, rhs2);
- chrec1 = chrec_convert (type, chrec1, at_stmt);
- chrec1 = instantiate_parameters (loop, chrec1);
- chrec2 = instantiate_parameters (loop, chrec2);
-
- chrec2 = fold_build2 (LSHIFT_EXPR, type,
- build_int_cst (TREE_TYPE (rhs1), 1),
- chrec2);
- res = chrec_fold_multiply (type, chrec1, chrec2);
- break;
-
CASE_CONVERT:
/* In case we have a truncation of a widened operation that in
the truncated type has undefined overflow behavior analyze