Commit 516a84f7 by Roman Gareev Committed by Roman Gareev

graphite-dependences.c (subtract_commutative_associative_deps): Add NULL…

graphite-dependences.c (subtract_commutative_associative_deps): Add NULL checking of the following variables...


	gcc/
	* graphite-dependences.c (subtract_commutative_associative_deps): 
	Add NULL checking of the following variables: must_raw_no_source, 
	may_raw_no_source, must_war_no_source, may_war_no_source, 
	must_waw_no_source, may_waw_no_source, must_raw, may_raw, 
	must_war, may_war, must_waw, may_waw

	gcc/testsuite/gfortran.dg/graphite/pr59586.f: New testcase.

From-SVN: r212122
parent db72d606
2014-06-29 Roman Gareev <gareevroman@gmail.com>
* graphite-dependences.c (subtract_commutative_associative_deps):
Add NULL checking of the following variables: must_raw_no_source,
may_raw_no_source, must_war_no_source, may_war_no_source,
must_waw_no_source, may_waw_no_source, must_raw, may_raw,
must_war, may_war, must_waw, may_waw
testsuite/gfortran.dg/graphite/pr59586.f: New testcase.
2014-06-29 Roman Gareev <gareevroman@gmail.com>
* graphite-clast-to-gimple.c:
gloog is renamed to graphite_regenerate_ast_cloog.
gloog_error is renamed to graphite_regenerate_error.
......
......@@ -424,24 +424,71 @@ subtract_commutative_associative_deps (scop_p scop,
&x_may_waw_no_source);
gcc_assert (res == 0);
*must_raw = isl_union_map_subtract (*must_raw, x_must_raw);
*may_raw = isl_union_map_subtract (*may_raw, x_may_raw);
*must_raw_no_source = isl_union_map_subtract (*must_raw_no_source,
x_must_raw_no_source);
*may_raw_no_source = isl_union_map_subtract (*may_raw_no_source,
x_may_raw_no_source);
*must_war = isl_union_map_subtract (*must_war, x_must_war);
*may_war = isl_union_map_subtract (*may_war, x_may_war);
*must_war_no_source = isl_union_map_subtract (*must_war_no_source,
x_must_war_no_source);
*may_war_no_source = isl_union_map_subtract (*may_war_no_source,
x_may_war_no_source);
*must_waw = isl_union_map_subtract (*must_waw, x_must_waw);
*may_waw = isl_union_map_subtract (*may_waw, x_may_waw);
*must_waw_no_source = isl_union_map_subtract (*must_waw_no_source,
x_must_waw_no_source);
*may_waw_no_source = isl_union_map_subtract (*may_waw_no_source,
x_may_waw_no_source);
if (must_raw)
*must_raw = isl_union_map_subtract (*must_raw, x_must_raw);
else
isl_union_map_free (x_must_raw);
if (may_raw)
*may_raw = isl_union_map_subtract (*may_raw, x_may_raw);
else
isl_union_map_free (x_may_raw);
if (must_raw_no_source)
*must_raw_no_source = isl_union_map_subtract (*must_raw_no_source,
x_must_raw_no_source);
else
isl_union_map_free (x_must_raw_no_source);
if (may_raw_no_source)
*may_raw_no_source = isl_union_map_subtract (*may_raw_no_source,
x_may_raw_no_source);
else
isl_union_map_free (x_may_raw_no_source);
if (must_war)
*must_war = isl_union_map_subtract (*must_war, x_must_war);
else
isl_union_map_free (x_must_war);
if (may_war)
*may_war = isl_union_map_subtract (*may_war, x_may_war);
else
isl_union_map_free (x_may_war);
if (must_war_no_source)
*must_war_no_source = isl_union_map_subtract (*must_war_no_source,
x_must_war_no_source);
else
isl_union_map_free (x_must_war_no_source);
if (may_war_no_source)
*may_war_no_source = isl_union_map_subtract (*may_war_no_source,
x_may_war_no_source);
else
isl_union_map_free (x_may_war_no_source);
if (must_waw)
*must_waw = isl_union_map_subtract (*must_waw, x_must_waw);
else
isl_union_map_free (x_must_waw);
if (may_waw)
*may_waw = isl_union_map_subtract (*may_waw, x_may_waw);
else
isl_union_map_free (x_may_waw);
if (must_waw_no_source)
*must_waw_no_source = isl_union_map_subtract (*must_waw_no_source,
x_must_waw_no_source);
else
isl_union_map_free (x_must_waw_no_source);
if (may_waw_no_source)
*may_waw_no_source = isl_union_map_subtract (*may_waw_no_source,
x_may_waw_no_source);
else
isl_union_map_free (x_may_waw_no_source);
}
isl_union_map_free (original);
......
! { dg-additional-options "-Ofast -floop-parallelize-all" }
subroutine subsm ( n, x, xp, xx)
integer n, m, x(n),xp(n), xx(n), gg(n), dd_p
do 55 i=1, n
dd_p = dd_p + (x(i) - xx(i))*gg(i)
55 continue
if ( dd_p .gt. 0 ) then
call dcopy( n, xp, 1, x, 1 )
endif
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment