aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-data-ref.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-data-ref.c')
-rw-r--r--gcc/tree-data-ref.c12
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