PR rtl-optimization/63637
PR rtl-optimization/60663
* cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
if elt->cost is MAX_COST for ASM_OPERANDS.
(find_sets_in_insn): Fix up comment typo.
(cse_insn): Don't set src_volatile for all non-volatile
ASM_OPERANDS in PARALLELs, but just those with multiple outputs
or with "memory" clobber. Set elt->cost to MAX_COST
for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
* gcc.dg/pr63637-1.c: New test.
* gcc.dg/pr63637-2.c: New test.
* gcc.dg/pr63637-3.c: New test.
* gcc.dg/pr63637-4.c: New test.
* gcc.dg/pr63637-5.c: New test.
* gcc.dg/pr63637-6.c: New test.
* gcc.target/i386/pr63637-1.c: New test.
* gcc.target/i386/pr63637-2.c: New test.
* gcc.target/i386/pr63637-3.c: New test.
* gcc.target/i386/pr63637-4.c: New test.
* gcc.target/i386/pr63637-5.c: New test.
* gcc.target/i386/pr63637-6.c: New test.
Author: jakub
Date: Sun Feb 1 17:33:19 2015
New Revision: 220323
URL: https:/ /gcc.gnu. org/viewcvs? rev=220323& root=gcc& view=rev
Log:
Backported from mainline
2015-01-23 Jakub Jelinek <email address hidden>
PR rtl-optimizatio n/63637 n/60663 equiv_classes) : Set new_elt->cost to MAX_COST sets_in_ insn): Fix up comment typo.
PR rtl-optimizatio
* cse.c (merge_
if elt->cost is MAX_COST for ASM_OPERANDS.
(find_
(cse_insn): Don't set src_volatile for all non-volatile
ASM_OPERANDS in PARALLELs, but just those with multiple outputs
or with "memory" clobber. Set elt->cost to MAX_COST
for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
* gcc.dg/pr63637-1.c: New test. i386/pr63637- 1.c: New test. i386/pr63637- 2.c: New test. i386/pr63637- 3.c: New test. i386/pr63637- 4.c: New test. i386/pr63637- 5.c: New test. i386/pr63637- 6.c: New test.
* gcc.dg/pr63637-2.c: New test.
* gcc.dg/pr63637-3.c: New test.
* gcc.dg/pr63637-4.c: New test.
* gcc.dg/pr63637-5.c: New test.
* gcc.dg/pr63637-6.c: New test.
* gcc.target/
* gcc.target/
* gcc.target/
* gcc.target/
* gcc.target/
* gcc.target/
Added: gcc-4_9- branch/ gcc/testsuite/ gcc.dg/ pr63637- 1.c gcc-4_9- branch/ gcc/testsuite/ gcc.dg/ pr63637- 2.c gcc-4_9- branch/ gcc/testsuite/ gcc.dg/ pr63637- 3.c gcc-4_9- branch/ gcc/testsuite/ gcc.dg/ pr63637- 4.c gcc-4_9- branch/ gcc/testsuite/ gcc.dg/ pr63637- 5.c gcc-4_9- branch/ gcc/testsuite/ gcc.dg/ pr63637- 6.c gcc-4_9- branch/ gcc/testsuite/ gcc.target/ i386/pr63637- 1.c gcc-4_9- branch/ gcc/testsuite/ gcc.target/ i386/pr63637- 2.c gcc-4_9- branch/ gcc/testsuite/ gcc.target/ i386/pr63637- 3.c gcc-4_9- branch/ gcc/testsuite/ gcc.target/ i386/pr63637- 4.c gcc-4_9- branch/ gcc/testsuite/ gcc.target/ i386/pr63637- 5.c gcc-4_9- branch/ gcc/testsuite/ gcc.target/ i386/pr63637- 6.c gcc-4_9- branch/ gcc/ChangeLog gcc-4_9- branch/ gcc/cse. c gcc-4_9- branch/ gcc/testsuite/ ChangeLog
branches/
branches/
branches/
branches/
branches/
branches/
branches/
branches/
branches/
branches/
branches/
branches/
Modified:
branches/
branches/
branches/