mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-12-12 13:23:47 +08:00
re PR target/34916 (gcc.c-torture/execute/pr27364.c fails with -O1, -O2 and -Os)
PR rtl-optimization/34916 PR middle-end/35519 * combine.c (create_log_links): Do not create duplicate LOG_LINKS between instruction pairs From-SVN: r133920
This commit is contained in:
parent
9eb3a0dd85
commit
3c2397cdca
@ -1,3 +1,10 @@
|
||||
2008-04-04 Andy Hutchinson <hutchinsonandy@aim.com>
|
||||
|
||||
PR rtl-optimization/34916
|
||||
PR middle-end/35519
|
||||
* combine.c (create_log_links): Do not create duplicate LOG_LINKS
|
||||
between instruction pairs.
|
||||
|
||||
2008-04-04 Naveen.H.S <naveen.hs@kpitcummins.com>
|
||||
|
||||
* doc/invoke.texi: Document -mbitops for SH.
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Optimize by combining instructions for GNU compiler.
|
||||
Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
@ -976,8 +976,18 @@ create_log_links (void)
|
||||
assignments later. */
|
||||
if (regno >= FIRST_PSEUDO_REGISTER
|
||||
|| asm_noperands (PATTERN (use_insn)) < 0)
|
||||
LOG_LINKS (use_insn) =
|
||||
alloc_INSN_LIST (insn, LOG_LINKS (use_insn));
|
||||
{
|
||||
/* Don't add duplicate links between instructions. */
|
||||
rtx links;
|
||||
for (links = LOG_LINKS (use_insn); links;
|
||||
links = XEXP (links, 1))
|
||||
if (insn == XEXP (links, 0))
|
||||
break;
|
||||
|
||||
if (!links)
|
||||
LOG_LINKS (use_insn) =
|
||||
alloc_INSN_LIST (insn, LOG_LINKS (use_insn));
|
||||
}
|
||||
}
|
||||
next_use[regno] = NULL_RTX;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user