PR tree-optimization/64454
commitdbecfd54055deba8b0f1028dc9970eb28045844a
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 12 Jan 2015 20:44:32 +0000 (12 20:44 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 12 Jan 2015 20:44:32 +0000 (12 20:44 +0000)
tree0217d8864283be08a04517b8666b0763b5234f11
parent8fe003de853d40804dfa17c3719114b14dc6f931
PR tree-optimization/64454
* tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
for signed or [0, op1 - 1] for unsigned modulo.
(simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
even if op1 does not satisfy integer_pow2p.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219491 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr64454.c [new file with mode: 0644]
gcc/tree-vrp.c