X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Ftree-data-ref.c;h=b984c04d07af17dea39336eefaccac039b136a36;hb=c5e839cb5ef14a22e8078adb0ede837f47d750a0;hp=145312f04f393e5efc26d198f976fad8d85449cd;hpb=2b4876d244c2e5d707b79dc0e63dc930e4705079;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c index 145312f04f3..b984c04d07a 100644 --- a/gcc/tree-data-ref.c +++ b/gcc/tree-data-ref.c @@ -109,9 +109,9 @@ array_base_name_differ_p (struct data_reference *a, { tree base_a = DR_BASE_NAME (a); tree base_b = DR_BASE_NAME (b); - tree ta = TREE_TYPE (base_a); - tree tb = TREE_TYPE (base_b); + if (!base_a || !base_b) + return false; /* Determine if same base. Example: for the array accesses a[i], b[i] or pointer accesses *a, *b, bases are a, b. */ @@ -179,24 +179,6 @@ array_base_name_differ_p (struct data_reference *a, return true; } - if (!alias_sets_conflict_p (get_alias_set (base_a), get_alias_set (base_b))) - { - *differ_p = true; - return true; - } - - /* An instruction writing through a restricted pointer is - "independent" of any instruction reading or writing through a - different pointer, in the same block/scope. */ - if ((TREE_CODE (ta) == POINTER_TYPE && TYPE_RESTRICT (ta) - && !DR_IS_READ(a)) - || (TREE_CODE (tb) == POINTER_TYPE && TYPE_RESTRICT (tb) - && !DR_IS_READ(b))) - { - *differ_p = true; - return true; - } - return false; } @@ -664,7 +646,7 @@ all_chrecs_equal_p (tree chrec) /* Determine for each subscript in the data dependence relation DDR the distance. */ -static void +void compute_subscript_distance (struct data_dependence_relation *ddr) { if (DDR_ARE_DEPENDENT (ddr) == NULL_TREE) @@ -1111,7 +1093,7 @@ compute_overlap_steps_for_affine_univar (int niter, int step_a, int step_b, | y (t, u, v) = {{0, +, 1336}_u, +, 1}_v | z (t, u, v) = {{{0, +, 1}_t, +, 1335}_u, +, 1}_v - FORNOW: This is a specialized implementation for a case occuring in + FORNOW: This is a specialized implementation for a case occurring in a common benchmark. Implement the general algorithm. */ static void @@ -1787,7 +1769,7 @@ subscript_dependence_tester (struct data_dependence_relation *ddr) starting at FIRST_LOOP_DEPTH. Return TRUE otherwise. */ -static bool +bool build_classic_dist_vector (struct data_dependence_relation *ddr, int nb_loops, int first_loop_depth) {