2013-11-18 Richard Biener <rguenther@suse.de>
commitc133c5a226403740682bfa073465fe6b5413391e
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 18 Nov 2013 15:13:14 +0000 (18 15:13 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 18 Nov 2013 15:13:14 +0000 (18 15:13 +0000)
tree07f42e9a1f87a588fb04291412d2299d9d822b26
parentf56e71e96a808adc43db88f297dd48eeea3b9358
2013-11-18  Richard Biener  <rguenther@suse.de>

Backport from mainline
2013-10-21  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58794
* fold-const.c (operand_equal_p): Compare FIELD_DECL operand
of COMPONENT_REFs with OEP_CONSTANT_ADDRESS_OF left in place.

* c-c++-common/torture/pr58794-1.c: New testcase.
* c-c++-common/torture/pr58794-2.c: Likewise.

2013-10-21  Richard Biener  <rguenther@suse.de>

PR middle-end/58742
* fold-const.c (fold_binary_loc): Fold ((T) (X /[ex] C)) * C
to (T) X for sign-changing conversions (or no conversion).

* c-c++-common/fold-divmul-1.c: New testcase.

2013-11-06  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58653
* tree-predcom.c (ref_at_iteration): Rewrite to generate
a MEM_REF.
(prepare_initializers_chain): Adjust.

* gcc.dg/tree-ssa/predcom-6.c: New testcase.
* gcc.dg/tree-ssa/predcom-7.c: Likewise.

PR tree-optimization/59047
* tree-predcom.c (ref_at_iteration): Handle bitfield accesses
properly.

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

2013-10-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58143
* tree-ssa-loop-im.c (arith_code_with_undefined_signed_overflow):
New function.
(rewrite_to_defined_overflow): Likewise.
(move_computations_dom_walker::before_dom): Rewrite stmts
with undefined signed overflow that are not always executed
into unsigned arithmetic.

* gcc.dg/torture/pr58143-1.c: New testcase.
* gcc.dg/torture/pr58143-2.c: Likewise.
* gcc.dg/torture/pr58143-3.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@204965 138bc75d-0d04-0410-961f-82ee72b054a4
14 files changed:
gcc/ChangeLog
gcc/fold-const.c
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/fold-divmul-1.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/torture/pr58794-1.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/torture/pr58794-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr58143-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr58143-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr58143-3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr59047.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/predcom-6.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/predcom-7.c [new file with mode: 0644]
gcc/tree-predcom.c
gcc/tree-ssa-loop-im.c