Commit 9dc03c97 by Richard Biener Committed by Richard Biener

re PR tree-optimization/69606 (wrong code at -Os and above on x86_64-linux-gnu)

2016-02-02  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69606
	* tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive
	info on the result before moving a stmt.

	* gcc.dg/torture/pr69606.c: New testcase.

From-SVN: r233069
parent 2d4dc223
2016-02-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/69606
* tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive
info on the result before moving a stmt.
2016-02-02 Yuri Rumyantsev <ysrumyan@gmail.com>
PR middle-end/68542
......
2016-02-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/69606
* gcc.dg/torture/pr69606.c: New testcase.
2016-02-02 Yuri Rumyantsev <ysrumyan@gmail.com>
PR middle-end/68542
......
/* { dg-do run } */
char a;
unsigned short b;
int c, d;
unsigned char e;
int
main ()
{
int f = 1, g = ~a;
if (b > f)
{
e = b;
d = b | e;
g = 0;
}
c = 1 % g;
return 0;
}
......@@ -2622,6 +2622,8 @@ bswap_replace (gimple *cur_stmt, gimple *src_stmt, tree fndecl,
/* Move cur_stmt just before one of the load of the original
to ensure it has the same VUSE. See PR61517 for what could
go wrong. */
if (gimple_bb (cur_stmt) != gimple_bb (src_stmt))
reset_flow_sensitive_info (gimple_assign_lhs (cur_stmt));
gsi_move_before (&gsi, &gsi_ins);
gsi = gsi_for_stmt (cur_stmt);
......
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