aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-data-ref.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2014-09-05 08:23:32 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2014-09-05 08:23:32 +0000
commitf65586dcd19846071fd94fed4fb1bf91843887d1 (patch)
tree8e4e5406e368bf468ff117207d295e346a08f02a /gcc/tree-data-ref.c
parentaaea00aa78750b8294842dd07fdf6a426e1c48b2 (diff)
downloadgcc-f65586dcd19846071fd94fed4fb1bf91843887d1.zip
gcc-f65586dcd19846071fd94fed4fb1bf91843887d1.tar.gz
gcc-f65586dcd19846071fd94fed4fb1bf91843887d1.tar.bz2
re PR tree-optimization/63148 (r187042 causes auto-vectorization failure for X86 for -m32.)
2014-09-05 Richard Biener <rguenther@suse.de> PR middle-end/63148 * fold-const.c (try_move_mult_to_index): Remove. (fold_binary_loc): Do not call it. * tree-data-ref.c (dr_analyze_indices): Strip conversions from the base object again. c-family/ * c-format.c (check_format_arg): Properly handle effectively signed POINTER_PLUS_EXPR offset. * gcc.dg/vect/pr63148.c: New testcase. * c-c++-common/pr19807-1.c: Likewise. * g++.dg/tree-ssa/pr19807.C: Adjust. * g++.dg/tree-ssa/tmmti-2.C: Remove. From-SVN: r214941
Diffstat (limited to 'gcc/tree-data-ref.c')
-rw-r--r--gcc/tree-data-ref.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c
index 1d3efa6..89aeb30 100644
--- a/gcc/tree-data-ref.c
+++ b/gcc/tree-data-ref.c
@@ -962,6 +962,7 @@ dr_analyze_indices (struct data_reference *dr, loop_p nest, loop_p loop)
orig_type = TREE_TYPE (base);
STRIP_USELESS_TYPE_CONVERSION (base);
split_constant_offset (base, &base, &off);
+ STRIP_USELESS_TYPE_CONVERSION (base);
/* Fold the MEM_REF offset into the evolutions initial
value to make more bases comparable. */
if (!integer_zerop (memoff))