Commit 60e09045 by Richard Biener Committed by Richard Biener

match.pd (0 % X): Properly use the iterator iterating over all modulo operators.

2014-10-27  Richard Biener  <rguenther@suse.de>

	* match.pd (0 % X): Properly use the iterator iterating over
	all modulo operators.
	(X % 1): Likewise.

From-SVN: r216732
parent 98ae260d
2014-10-27 Richard Biener <rguenther@suse.de> 2014-10-27 Richard Biener <rguenther@suse.de>
* match.pd (0 % X): Properly use the iterator iterating over
all modulo operators.
(X % 1): Likewise.
2014-10-27 Richard Biener <rguenther@suse.de>
* tree-ssa-forwprop.c: Include tree-cfgcleanup.h and tree-into-ssa.h. * tree-ssa-forwprop.c: Include tree-cfgcleanup.h and tree-into-ssa.h.
(lattice): New global. (lattice): New global.
(fwprop_ssa_val): New function. (fwprop_ssa_val): New function.
...@@ -64,13 +64,13 @@ along with GCC; see the file COPYING3. If not see ...@@ -64,13 +64,13 @@ along with GCC; see the file COPYING3. If not see
(for op (ceil_mod floor_mod round_mod trunc_mod) (for op (ceil_mod floor_mod round_mod trunc_mod)
/* 0 % X is always zero. */ /* 0 % X is always zero. */
(simplify (simplify
(trunc_mod integer_zerop@0 @1) (op integer_zerop@0 @1)
/* But not for 0 % 0 so that we can get the proper warnings and errors. */ /* But not for 0 % 0 so that we can get the proper warnings and errors. */
(if (!integer_zerop (@1)) (if (!integer_zerop (@1))
@0)) @0))
/* X % 1 is always zero. */ /* X % 1 is always zero. */
(simplify (simplify
(trunc_mod @0 integer_onep) (op @0 integer_onep)
{ build_zero_cst (type); })) { build_zero_cst (type); }))
/* x | ~0 -> ~0 */ /* x | ~0 -> ~0 */
......
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