PR rtl-optimization/63637
commit20d3ff08324bf0be21c3d984af009a92b8cf81d1
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 23 Jan 2015 19:55:16 +0000 (23 19:55 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 23 Jan 2015 19:55:16 +0000 (23 19:55 +0000)
tree1e1f3b9630c3bd67e06282a119cee3f5d8c8a41f
parentdea561ed158312ac145cee54e1d124e65b699ed1
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220059 138bc75d-0d04-0410-961f-82ee72b054a4
15 files changed:
gcc/ChangeLog
gcc/cse.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr63637-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr63637-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr63637-3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr63637-4.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr63637-5.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr63637-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr63637-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr63637-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr63637-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr63637-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr63637-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr63637-6.c [new file with mode: 0644]