URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 298 |
Rev 338 |
/* A testcase for PR 40744. We do not want to create replacements for object
|
/* A testcase for PR 40744. We do not want to create replacements for object
|
that are dead or have only a single use, whenever it can be avoided
|
that are dead or have only a single use, whenever it can be avoided
|
simply. */
|
simply. */
|
/* { dg-do compile } */
|
/* { dg-do compile } */
|
/* { dg-options "-O1 -fdump-tree-esra-details" } */
|
/* { dg-options "-O1 -fdump-tree-esra-details" } */
|
|
|
struct X { int i; int j; };
|
struct X { int i; int j; };
|
|
|
void foo(void)
|
void foo(void)
|
{
|
{
|
struct X x;
|
struct X x;
|
x.i = 1;
|
x.i = 1;
|
x.j = 2;
|
x.j = 2;
|
}
|
}
|
|
|
|
|
int bar(struct X x)
|
int bar(struct X x)
|
{
|
{
|
return x.i;
|
return x.i;
|
}
|
}
|
|
|
|
|
extern void do_something (struct X);
|
extern void do_something (struct X);
|
|
|
void bar2(int i, int j)
|
void bar2(int i, int j)
|
{
|
{
|
struct X x;
|
struct X x;
|
|
|
x.i = i;
|
x.i = i;
|
x.j = j;
|
x.j = j;
|
do_something (x);
|
do_something (x);
|
}
|
}
|
|
|
/* { dg-final { scan-tree-dump-times "Created a replacement" 0 "esra"} } */
|
/* { dg-final { scan-tree-dump-times "Created a replacement" 0 "esra"} } */
|
/* { dg-final { cleanup-tree-dump "esra" } } */
|
/* { dg-final { cleanup-tree-dump "esra" } } */
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.