gcc

~vcs-imports/gcc/+git/gcc:hjl/pr53623/gcc-4_8-branch

Last commit made on 2015-02-16
Get this branch:
git clone -b hjl/pr53623/gcc-4_8-branch https://git.launchpad.net/~vcs-imports/gcc/+git/gcc

Branch merges

Branch information

Name:
hjl/pr53623/gcc-4_8-branch
Repository:
lp:~vcs-imports/gcc/+git/gcc

Recent commits

0f92cc9... by jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>

 Backported from mainline
 2015-01-13 Jakub Jelinek <email address hidden>

 PR rtl-optimization/64286
 * ree.c (combine_reaching_defs): Move part of comment earlier,
 remove !SCALAR_INT_MODE_P check.
 (add_removable_extension): Don't add vector mode
 extensions if all uses of the source register aren't the same
 vector extensions.

 * gcc.target/i386/avx2-pr64286.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@219614 138bc75d-0d04-0410-961f-82ee72b054a4

Conflicts:
 gcc/ChangeLog
 gcc/ree.c
 gcc/testsuite/ChangeLog

d8b307f... by law <law@138bc75d-0d04-0410-961f-82ee72b054a4>

2014-06-13 Jeff Law <email address hidden>

 PR rtl-optimization/61094
 PR rtl-optimization/61446
 * ree.c (combine_reaching_defs): Get the mode for the copy from
 the extension insn rather than the defining insn.

2014-06-13 Ilya Enkovich <email address hidden>

 PR rtl-optimization/61094
 PR rtl-optimization/61446
 * gcc.target/i386/pr61446.c : New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211649 138bc75d-0d04-0410-961f-82ee72b054a4

Conflicts:
 gcc/ChangeLog
 gcc/testsuite/ChangeLog

20abb33... by law <law@138bc75d-0d04-0410-961f-82ee72b054a4>

 PR rtl-optimization/61094
 * ree.c (combine_reaching_defs): Do not reextend an insn if it
 was marked as do_no_reextend. If a copy is needed to eliminate
 an extension, then mark it as do_not_reextend.

 PR rtl-optimization/61094
 * g++.dg/pr61094: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211142 138bc75d-0d04-0410-961f-82ee72b054a4

Conflicts:
 gcc/ChangeLog
 gcc/testsuite/ChangeLog

3fdd9d7... by jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>

 PR rtl-optimization/59754
 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
 modes in the REGNO != REGNO case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206542 138bc75d-0d04-0410-961f-82ee72b054a4

Conflicts:
 gcc/ChangeLog

c816838... by law <law@138bc75d-0d04-0410-961f-82ee72b054a4>

 PR rtl-optimization/60131
 * ree.c (get_extended_src_reg): New function.
 (combine_reaching_defs): Use it rather than assuming location
 of REG.
 (find_and_remove_re): Verify first operand of extension is
 a REG before adding the insns to the copy list.

 PR rtl-optimization/60131
 * g++.dg/torture/pr60131.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207792 138bc75d-0d04-0410-961f-82ee72b054a4

Conflicts:
 gcc/ChangeLog
 gcc/testsuite/ChangeLog

33549eb... by law <law@138bc75d-0d04-0410-961f-82ee72b054a4>

       * ree.c (combine_set_extension): Temporarily disable test for
        changing number of hard registers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206735 138bc75d-0d04-0410-961f-82ee72b054a4

Conflicts:
 gcc/ChangeLog

9082330... by law <law@138bc75d-0d04-0410-961f-82ee72b054a4>

 PR tree-optimization/59747
 * ree.c (find_and_remove_re): Properly handle case where a second
 eliminated extension requires widening a copy created for elimination
 of a prior extension.
 (combine_set_extension): Ensure that the number of hard regs needed
 for a destination register does not change when we widen it.

 PR tree-optimization/59747
 * gcc.c-torture/execute/pr59747.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206638 138bc75d-0d04-0410-961f-82ee72b054a4

Conflicts:
 gcc/ChangeLog
 gcc/testsuite/ChangeLog

9420e58... by law <law@138bc75d-0d04-0410-961f-82ee72b054a4>

 PR middle-end/59743
 * ree.c (combine_reaching_defs): Ensure the defining statement
 occurs before the extension when optimizing extensions with
 different source and destination hard registers.

 PR middle-end/59743
 * gcc.c-torture/compile/pr59743.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206545 138bc75d-0d04-0410-961f-82ee72b054a4

Conflicts:
 gcc/ChangeLog
 gcc/testsuite/ChangeLog

f293e1d... by law <law@138bc75d-0d04-0410-961f-82ee72b054a4>

        * ree.c (get_sub_rtx): New function, extracted from...
        (merge_def_and_ext): Here.
        (combine_reaching_defs): Use get_sub_rtx.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206454 138bc75d-0d04-0410-961f-82ee72b054a4

Conflicts:
 gcc/ChangeLog

625c3a0... by law <law@138bc75d-0d04-0410-961f-82ee72b054a4>

 PR middle-end/53623
 * ree.c (combine_set_extension): Handle case where source
 and destination registers in an extension insn are different.
 (combine_reaching_defs): Allow source and destination
 registers in extension to be different under limited
 circumstances.
 (add_removable_extension): Remove restriction that the
 source and destination registers in the extension are the
 same.
 (find_and_remove_re): Emit a copy from the extension's
 destination to its source after the defining insn if
 the source and destination registers are different.

 PR middle-end/53623
 * gcc.target/i386/pr53623.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206418 138bc75d-0d04-0410-961f-82ee72b054a4

Conflicts:
 gcc/ChangeLog
 gcc/ree.c
 gcc/testsuite/ChangeLog