2
0
mirror of git://gcc.gnu.org/git/gcc.git synced 2025-03-24 13:11:44 +08:00

re PR target/53859 (ICE when calculate insn latency for armv7e-m arch in O2 level)

2012-07-10  Greta Yorsh  <Greta.Yorsh@arm.com>

gcc/
	PR target/53859
	* config/arm/arm.c (arm_early_load_addr_dep): Handle new
	epilogue patterns.

gcc/testsuite

	PR target/53859
	* gcc.target/arm/pr53859.c: New test.

From-SVN: r189423
This commit is contained in:
Greta Yorsh 2012-07-11 09:41:37 +01:00 committed by Greta Yorsh
parent b0af456aad
commit c48acc4f0a
4 changed files with 28 additions and 1 deletions
gcc
ChangeLog
config/arm
testsuite
ChangeLog
gcc.target/arm

@ -1,3 +1,9 @@
2012-07-11 Greta Yorsh <Greta.Yorsh@arm.com>
PR target/53859
* config/arm/arm.c (arm_early_load_addr_dep): Handle new
epilogue patterns.
2012-07-11 Jonathan Wakely <jwakely.gcc@gmail.com>
* doc/extend.texi (Namespace Association): Alter cautionary text.

@ -23659,7 +23659,12 @@ arm_early_load_addr_dep (rtx producer, rtx consumer)
if (GET_CODE (addr) == COND_EXEC)
addr = COND_EXEC_CODE (addr);
if (GET_CODE (addr) == PARALLEL)
addr = XVECEXP (addr, 0, 0);
{
if (GET_CODE (XVECEXP (addr, 0, 0)) == RETURN)
addr = XVECEXP (addr, 0, 1);
else
addr = XVECEXP (addr, 0, 0);
}
addr = XEXP (addr, 1);
return reg_overlap_mentioned_p (value, addr);

@ -1,3 +1,8 @@
2012-07-11 Greta Yorsh <Greta.Yorsh@arm.com>
PR target/53859
* gcc.target/arm/pr53859.c: New test.
2012-07-10 Oleg Endo <olegendo@gcc.gnu.org>
PR target/53886

@ -0,0 +1,11 @@
/* PR target/53859 */
/* { dg-do compile } */
/* { dg-require-effective-target arm_thumb2_ok } */
/* { dg-options "-mcpu=cortex-m4 -mthumb -O2" } */
void bar (int,int,char* ,int);
void foo (char c)
{
bar (1,2,&c,3);
}