diff options
Diffstat (limited to 'gcc/tree-data-ref.h')
-rw-r--r-- | gcc/tree-data-ref.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/gcc/tree-data-ref.h b/gcc/tree-data-ref.h index 6df38a5..63094a7 100644 --- a/gcc/tree-data-ref.h +++ b/gcc/tree-data-ref.h @@ -203,11 +203,20 @@ typedef struct data_reference *data_reference_p; struct dr_with_seg_len { - dr_with_seg_len (data_reference_p d, tree len) - : dr (d), seg_len (len) {} + dr_with_seg_len (data_reference_p d, tree len, unsigned HOST_WIDE_INT size, + unsigned int a) + : dr (d), seg_len (len), access_size (size), align (a) {} data_reference_p dr; + /* The offset of the last access that needs to be checked minus + the offset of the first. */ tree seg_len; + /* A value that, when added to abs (SEG_LEN), gives the total number of + bytes in the segment. */ + poly_uint64 access_size; + /* The minimum common alignment of DR's start address, SEG_LEN and + ACCESS_SIZE. */ + unsigned int align; }; /* This struct contains two dr_with_seg_len objects with aliasing data @@ -475,6 +484,10 @@ extern void prune_runtime_alias_test_list (vec<dr_with_seg_len_pair_t> *, poly_uint64); extern void create_runtime_alias_checks (struct loop *, vec<dr_with_seg_len_pair_t> *, tree*); +extern tree dr_direction_indicator (struct data_reference *); +extern tree dr_zero_step_indicator (struct data_reference *); +extern bool dr_known_forward_stride_p (struct data_reference *); + /* Return true when the base objects of data references A and B are the same memory object. */ |