Commit 4dee9718 by Jakub Jelinek Committed by Jakub Jelinek

re PR debug/50017 (-fcompare-debug failure)

	PR debug/50017
	* tree-vect-stmts.c (vect_finish_stmt_generation): If gsi_stmt (*gsi)
	is a debug stmt, use location of the first non-debug stmt after it.

	* gcc.dg/pr50017.c: New test.

From-SVN: r177857
parent 51fdcb38
2011-08-18 Jakub Jelinek <jakub@redhat.com>
PR debug/50017
* tree-vect-stmts.c (vect_finish_stmt_generation): If gsi_stmt (*gsi)
is a debug stmt, use location of the first non-debug stmt after it.
2011-08-18 Richard Sandiford <richard.sandiford@linaro.org>
* config/arm/arm.c (arm_rtx_costs_1): Don't modify the costs of SET.
......
......@@ -2,6 +2,9 @@
* g++.dg/plugin/decl_plugin.c: Include diagnostic.h.
PR debug/50017
* gcc.dg/pr50017.c: New test.
2011-08-18 Dodji Seketeli <dodji@redhat.com>
PR c++/45625
......
/* PR debug/50017 */
/* { dg-do compile } */
/* { dg-options "-O3 -fcompare-debug" } */
struct S { int r, i; };
void
foo (struct S *x, int y)
{
int i;
for (i = 1; i < y; i++)
{
struct S a, b, c;
a = x[0];
b = x[i];
c.r = a.r * b.r - a.i * b.i;
c.i = a.r * b.i + a.i * b.r;
x[i] = c;
}
}
/* Statement Analysis and Transformation for Vectorization
Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
Contributed by Dorit Naishlos <dorit@il.ibm.com>
and Ira Rosen <irar@il.ibm.com>
......@@ -1419,6 +1419,7 @@ vect_finish_stmt_generation (gimple stmt, gimple vec_stmt,
stmt_vec_info stmt_info = vinfo_for_stmt (stmt);
loop_vec_info loop_vinfo = STMT_VINFO_LOOP_VINFO (stmt_info);
bb_vec_info bb_vinfo = STMT_VINFO_BB_VINFO (stmt_info);
gimple_stmt_iterator si;
gcc_assert (gimple_code (stmt) != GIMPLE_LABEL);
......@@ -1433,7 +1434,13 @@ vect_finish_stmt_generation (gimple stmt, gimple vec_stmt,
print_gimple_stmt (vect_dump, vec_stmt, 0, TDF_SLIM);
}
gimple_set_location (vec_stmt, gimple_location (gsi_stmt (*gsi)));
si = *gsi;
if (is_gimple_debug (gsi_stmt (si)))
{
gsi_next_nondebug (&si);
gcc_assert (!gsi_end_p (si));
}
gimple_set_location (vec_stmt, gimple_location (gsi_stmt (si)));
}
/* Checks if CALL can be vectorized in type VECTYPE. Returns
......
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