diff options
author | Richard Biener <rguenther@suse.de> | 2014-09-05 08:23:32 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2014-09-05 08:23:32 +0000 |
commit | f65586dcd19846071fd94fed4fb1bf91843887d1 (patch) | |
tree | 8e4e5406e368bf468ff117207d295e346a08f02a /gcc/tree-data-ref.c | |
parent | aaea00aa78750b8294842dd07fdf6a426e1c48b2 (diff) | |
download | gcc-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.c | 1 |
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)) |