diff options
author | Bin Cheng <bin.cheng@arm.com> | 2016-06-17 09:05:05 +0000 |
---|---|---|
committer | Bin Cheng <amker@gcc.gnu.org> | 2016-06-17 09:05:05 +0000 |
commit | 97816be433afedd0a407672b6f2fad23d179447b (patch) | |
tree | 201086e3720f21a3b75bfb89f8db7b84f7824354 /gcc/tree-vectorizer.h | |
parent | 7c80a459b96715dfb44708b7cef9f2813a7ff0ef (diff) | |
download | gcc-97816be433afedd0a407672b6f2fad23d179447b.zip gcc-97816be433afedd0a407672b6f2fad23d179447b.tar.gz gcc-97816be433afedd0a407672b6f2fad23d179447b.tar.bz2 |
tree-vectorizer.h (struct dr_with_seg_len): Remove class member OFFSET.
* tree-vectorizer.h (struct dr_with_seg_len): Remove class
member OFFSET.
* tree-vect-data-refs.c (operator ==): Handle DR_OFFSET directly,
rather than OFFSET.
(comp_dr_with_seg_len_pair): Ditto.
(vect_prune_runtime_alias_test_list): Ditto. Also Canonicalize
struct dr_with_seg_len_pair against DR_OFFSET.
* tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Handle
DR_OFFSET directly.
* gcc.dg/vect/vect-alias-check-1.c: New test.
From-SVN: r237549
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r-- | gcc/tree-vectorizer.h | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h index 6d52b55..f15672f 100644 --- a/gcc/tree-vectorizer.h +++ b/gcc/tree-vectorizer.h @@ -146,19 +146,15 @@ typedef struct _slp_instance { /* This struct is used to store the information of a data reference, - including the data ref itself, the access offset (calculated by summing its - offset and init) and the segment length for aliasing checks. - This is used to merge alias checks. */ + including the data ref itself and the segment length for aliasing + checks. This is used to merge alias checks. */ struct dr_with_seg_len { dr_with_seg_len (data_reference_p d, tree len) - : dr (d), - offset (size_binop (PLUS_EXPR, DR_OFFSET (d), DR_INIT (d))), - seg_len (len) {} + : dr (d), seg_len (len) {} data_reference_p dr; - tree offset; tree seg_len; }; |