From 7eef40851b74e8c3d788f97c22fd8d2b738062ae Mon Sep 17 00:00:00 2001 From: alalaw01 Date: Thu, 5 Nov 2015 18:39:38 +0000 Subject: [PATCH] tree-scalar-evolution.c: Handle LSHIFT by constant gcc/: PR tree-optimization/65963 * tree-scalar-evolution.c (interpret_rhs_expr): Try to handle LSHIFT_EXPRs as equivalent unsigned MULT_EXPRs. gcc/testsuite/: * gcc.dg/pr68112.c: New. * gcc.dg/vect/vect-strided-shift-1.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229825 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/tree-scalar-evolution.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'gcc/tree-scalar-evolution.c') diff --git a/gcc/tree-scalar-evolution.c b/gcc/tree-scalar-evolution.c index bb27b070dba..5cd7b1522ba 100644 --- a/gcc/tree-scalar-evolution.c +++ b/gcc/tree-scalar-evolution.c @@ -1827,6 +1827,23 @@ interpret_rhs_expr (struct loop *loop, gimple *at_stmt, res = chrec_fold_multiply (type, chrec1, chrec2); break; + case LSHIFT_EXPR: + { + /* Handle A<