+2011-02-02 Sebastian Pop <sebastian.pop@amd.com>
+ Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/40979
+ PR bootstrap/47044
+ * passes.c (init_optimization_passes): After LIM call copy_prop
+ and DCE to clean up.
+ * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
+
2011-02-02 Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/47576
{
struct opt_pass **p = &pass_graphite.pass.sub;
NEXT_PASS (pass_graphite_transforms);
+ NEXT_PASS (pass_lim);
NEXT_PASS (pass_copy_prop);
NEXT_PASS (pass_dce_loop);
- NEXT_PASS (pass_lim);
}
NEXT_PASS (pass_iv_canon);
NEXT_PASS (pass_if_conversion);
+2011-02-02 Sebastian Pop <sebastian.pop@amd.com>
+ Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/40979
+ PR bootstrap/47044
+ * gcc.dg/graphite/graphite.exp (DEFAULT_VECTCFLAGS): Add -ffast-math.
+ * gcc.dg/graphite/pr35356-2.c: Adjust pattern.
+ * gfortran.dg/graphite/graphite.exp: Run vect_files conditionally to
+ check_vect_support_and_set_flags.
+ * gfortran.dg/graphite/vect-pr40979.f90: New.
+
2011-02-02 Janus Weil <janus@gcc.gnu.org>
PR fortran/47572
# Vectorizer tests, to be run or compiled, depending on target capabilities.
global DEFAULT_VECTCFLAGS
-set DEFAULT_VECTCFLAGS "-O2 -fgraphite-identity -ftree-vectorize -fno-vect-cost-model -fdump-tree-vect-details"
+set DEFAULT_VECTCFLAGS "-O2 -fgraphite-identity -ftree-vectorize -fno-vect-cost-model -fdump-tree-vect-details -ffast-math"
if [check_vect_support_and_set_flags] {
dg-runtest $vect_files "" $DEFAULT_VECTCFLAGS
*/
-/* { dg-final { scan-tree-dump-times "MIN_EXPR" 2 "graphite" } } */
-/* { dg-final { scan-tree-dump-times "MAX_EXPR" 2 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "MIN_EXPR" 4 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "MAX_EXPR" 4 "graphite" } } */
/* { dg-final { cleanup-tree-dump "graphite" } } */
gfortran-dg-runtest $id_files "-O2 -fgraphite-identity -ffast-math"
gfortran-dg-runtest $interchange_files "-O2 -floop-interchange -fno-loop-block -fno-loop-strip-mine -ffast-math -fdump-tree-graphite-all"
gfortran-dg-runtest $block_files "-O2 -floop-block -fno-loop-strip-mine -fno-loop-interchange -ffast-math -fdump-tree-graphite-all"
-gfortran-dg-runtest $vect_files "-O2 -fgraphite-identity -ftree-vectorize -fno-vect-cost-model -fdump-tree-vect-details"
+
+# Vectorizer tests, to be run or compiled, depending on target capabilities.
+if [check_vect_support_and_set_flags] {
+ gfortran-dg-runtest $vect_files "-O2 -fgraphite-identity -ftree-vectorize -fno-vect-cost-model -fdump-tree-vect-details -ffast-math"
+}
# Tests to be run.
set dg-do-what-default run
--- /dev/null
+! { dg-do compile }
+! { dg-require-effective-target vect_int }
+
+module mqc_m
+integer, parameter, private :: longreal = selected_real_kind(15,90)
+contains
+ subroutine mutual_ind_quad_cir_coil (m, l12)
+ real (kind = longreal), dimension(9), save :: w2gauss, w1gauss
+ real (kind = longreal) :: l12_lower, num, l12
+ real (kind = longreal), dimension(3) :: current, coil
+ w2gauss(1) = 16.0_longreal/81.0_longreal
+ w1gauss(5) = 0.3302393550_longreal
+ do i = 1, 2*m
+ do j = 1, 9
+ do k = 1, 9
+ num = w1gauss(j) * w2gauss(k) * dot_product(coil,current)
+ l12_lower = l12_lower + num
+ end do
+ end do
+ end do
+ l12 = l12_lower
+ end subroutine mutual_ind_quad_cir_coil
+end module mqc_m
+
+! { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } }
+! { dg-final { cleanup-tree-dump "vect" } }
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- 0 /* todo_flags_finish */
+ TODO_dump_func /* todo_flags_finish */
}
};