URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 154 |
Rev 816 |
/* { dg-do compile } */
|
/* { dg-do compile } */
|
/* { dg-options "-O1 -fdump-tree-optimized" } */
|
/* { dg-options "-O1 -fdump-tree-optimized" } */
|
|
|
/* Check that cprop works for assignments to array elements and structs. */
|
/* Check that cprop works for assignments to array elements and structs. */
|
|
|
struct foo {
|
struct foo {
|
int a;
|
int a;
|
};
|
};
|
|
|
extern void link_error (void);
|
extern void link_error (void);
|
|
|
void
|
void
|
test9 (struct foo f)
|
test9 (struct foo f)
|
{
|
{
|
f.a = 0;
|
f.a = 0;
|
if (f.a != 0)
|
if (f.a != 0)
|
link_error ();
|
link_error ();
|
}
|
}
|
|
|
void
|
void
|
test99 (struct foo *f)
|
test99 (struct foo *f)
|
{
|
{
|
f->a = 0;
|
f->a = 0;
|
if (f->a != 0)
|
if (f->a != 0)
|
link_error ();
|
link_error ();
|
}
|
}
|
|
|
void
|
void
|
test999 (int *arr)
|
test999 (int *arr)
|
{
|
{
|
*arr = 0;
|
*arr = 0;
|
if (*arr != 0)
|
if (*arr != 0)
|
link_error ();
|
link_error ();
|
}
|
}
|
|
|
void
|
void
|
test9999 (int *arr)
|
test9999 (int *arr)
|
{
|
{
|
arr[13] = 0;
|
arr[13] = 0;
|
if (arr[13] != 0)
|
if (arr[13] != 0)
|
link_error ();
|
link_error ();
|
}
|
}
|
|
|
void
|
void
|
test99999 (int *arr, int j)
|
test99999 (int *arr, int j)
|
{
|
{
|
arr[j] = 0;
|
arr[j] = 0;
|
if (arr[j] != 0)
|
if (arr[j] != 0)
|
link_error ();
|
link_error ();
|
}
|
}
|
|
|
/* There should be no link_error calls, if there is any, the
|
/* There should be no link_error calls, if there is any, the
|
optimization has failed */
|
optimization has failed */
|
/* { dg-final { scan-tree-dump-times "link_error" 0 "optimized"} } */
|
/* { dg-final { scan-tree-dump-times "link_error" 0 "optimized"} } */
|
/* { dg-final { cleanup-tree-dump "optimized" } } */
|
/* { dg-final { cleanup-tree-dump "optimized" } } */
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.