diff options
Diffstat (limited to 'gcc/tree-data-ref.c')
-rw-r--r-- | gcc/tree-data-ref.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c index 4f1a9fd..2715339 100644 --- a/gcc/tree-data-ref.c +++ b/gcc/tree-data-ref.c @@ -667,9 +667,9 @@ canonicalize_base_object_address (tree addr) } /* Analyzes the behavior of the memory reference DR in the innermost loop that - contains it. */ + contains it. Returns true if analysis succeed or false otherwise. */ -void +bool dr_analyze_innermost (struct data_reference *dr) { gimple stmt = DR_STMT (dr); @@ -693,7 +693,7 @@ dr_analyze_innermost (struct data_reference *dr) { if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "failed: bit offset alignment.\n"); - return; + return false; } base = build_fold_addr_expr (base); @@ -701,7 +701,7 @@ dr_analyze_innermost (struct data_reference *dr) { if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "failed: evolution of base is not affine.\n"); - return; + return false; } if (!poffset) { @@ -712,7 +712,7 @@ dr_analyze_innermost (struct data_reference *dr) { if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "failed: evolution of offset is not affine.\n"); - return; + return false; } init = ssize_int (pbitpos / BITS_PER_UNIT); @@ -735,6 +735,8 @@ dr_analyze_innermost (struct data_reference *dr) if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "success.\n"); + + return true; } /* Determines the base object and the list of indices of memory reference |