This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/63637] [4.9 Regression] CSE on x86 asm()-s no longer working due to PR/60663 fix
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 01 Feb 2015 17:33:51 +0000
- Subject: [Bug rtl-optimization/63637] [4.9 Regression] CSE on x86 asm()-s no longer working due to PR/60663 fix
- Auto-submitted: auto-generated
- References: <bug-63637-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63637
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
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 <jakub@redhat.com>
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.
Added:
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr63637-1.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr63637-2.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr63637-3.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr63637-4.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr63637-5.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr63637-6.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.target/i386/pr63637-1.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.target/i386/pr63637-2.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.target/i386/pr63637-3.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.target/i386/pr63637-4.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.target/i386/pr63637-5.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.target/i386/pr63637-6.c
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/cse.c
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog