2
0
mirror of git://gcc.gnu.org/git/gcc.git synced 2025-03-22 00:01:10 +08:00

Skip properly debug stmt in optimize_mask_stores (PR

PR tree-optimization/70043
	* tree-vect-loop.c (optimize_mask_stores): Move iterator to
	previous statement if we see a debug statement.
	* gfortran.dg/vect/pr70043.f90: New test.

From-SVN: r233934
This commit is contained in:
Martin Liska 2016-03-03 10:08:09 +00:00
parent b7b9e1a958
commit 2350426232
4 changed files with 30 additions and 1 deletions

@ -1,3 +1,9 @@
2016-03-03 Martin Liska <mliska@suse.cz>
PR tree-optimization/70043
* tree-vect-loop.c (optimize_mask_stores): Move iterator to
previous statement if we see a debug statement.
2016-03-03 Richard Biener <rguenther@suse.de>
PR tree-optimization/55936

@ -1,3 +1,8 @@
2016-03-03 Ilya Enkovich <enkovich.gnu@gmail.com>
PR tree-optimization/70043
* gfortran.dg/vect/pr70043.f90: New test.
2016-03-03 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/specs/task1.ads: New test.

@ -0,0 +1,15 @@
! { dg-do compile }
! { dg-additional-options "-Ofast -g" }
! { dg-additional-options "-march=haswell" { target i?86-*-* x86_64-*-* } }
subroutine fn1(a, b)
real(8), intent(in) :: b(100)
real(8), intent(inout) :: a(100)
real(8) c
do i=0,100
if( a(i) < 0.0 ) then
c = a(i) * b(i)
a(i) = a(i) - c / b(i)
endif
enddo
end subroutine fn1

@ -7090,7 +7090,10 @@ optimize_mask_stores (struct loop *loop)
/* Skip debug statements. */
if (is_gimple_debug (gsi_stmt (gsi)))
continue;
{
gsi_prev (&gsi);
continue;
}
stmt1 = gsi_stmt (gsi);
/* Do not consider statements writing to memory or having
volatile operand. */