[gcc]
commit1b66c2db6a7d0a64fa2c33f083483d16fd864172
authorwschmidt <wschmidt@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 21 Aug 2014 01:56:41 +0000 (21 01:56 +0000)
committerwschmidt <wschmidt@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 21 Aug 2014 01:56:41 +0000 (21 01:56 +0000)
tree00817377b51250a3dd522da5f7f6afbaa29277d1
parent3aaa3eecef4ebd326ffe76c7096d9dd5cffc6186
[gcc]

2014-08-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (context.h): New include.
(tree-pass.h): Likewise.
(make_pass_analyze_swaps): New decl.
(rs6000_option_override): Register pass_analyze_swaps.
(swap_web_entry): New subsclass of web_entry_base (df.h).
(special_handling_values): New enum.
(union_defs): New function.
(union_uses): Likewise.
(insn_is_load_p): Likewise.
(insn_is_store_p): Likewise.
(insn_is_swap_p): Likewise.
(rtx_is_swappable_p): Likewise.
(insn_is_swappable_p): Likewise.
(chain_purpose): New enum.
(chain_contains_only_swaps): New function.
(mark_swaps_for_removal): Likewise.
(swap_const_vector_halves): Likewise.
(adjust_subreg_index): Likewise.
(permute_load): Likewise.
(permute_store): Likewise.
(handle_special_swappables): Likewise.
(replace_swap_with_copy): Likewise.
(dump_swap_insn_table): Likewise.
(rs6000_analyze_swaps): Likewise.
(pass_data_analyze_swaps): New pass_data.
(pass_analyze_swaps): New rtl_opt_pass.
(make_pass_analyze_swaps): New function.
* config/rs6000/rs6000.opt (moptimize-swaps): New option.

[gcc/testsuite]

2014-08-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/swaps-p8-1.c: New test.
* gcc.target/powerpc/swaps-p8-2.c: New test.
* gcc.target/powerpc/swaps-p8-3.c: New test.
* gcc.target/powerpc/swaps-p8-4.c: New test.
* gcc.target/powerpc/swaps-p8-5.c: New test.
* gcc.target/powerpc/swaps-p8-6.c: New test.
* gcc.target/powerpc/swaps-p8-7.c: New test.
* gcc.target/powerpc/swaps-p8-8.c: New test.
* gcc.target/powerpc/swaps-p8-9.c: New test.
* gcc.target/powerpc/swaps-p8-10.c: New test.
* gcc.target/powerpc/swaps-p8-11.c: New test.
* gcc.target/powerpc/swaps-p8-12.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214254 138bc75d-0d04-0410-961f-82ee72b054a4
16 files changed:
gcc/ChangeLog
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.opt
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/swaps-p8-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/swaps-p8-10.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/swaps-p8-11.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/swaps-p8-12.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/swaps-p8-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/swaps-p8-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/swaps-p8-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/swaps-p8-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/swaps-p8-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/swaps-p8-7.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/swaps-p8-8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/swaps-p8-9.c [new file with mode: 0644]