URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 298 |
Rev 338 |
/* { dg-do compile } */
|
/* { dg-do compile } */
|
/* { dg-options "-O2 -fdump-tree-optimized" } */
|
/* { dg-options "-O2 -fdump-tree-optimized" } */
|
|
|
int x;
|
int x;
|
|
|
int
|
int
|
f1 (int i, int j, int k)
|
f1 (int i, int j, int k)
|
{
|
{
|
int *p = k ? &i : &j;
|
int *p = k ? &i : &j;
|
i = 3;
|
i = 3;
|
*p = 5;
|
*p = 5;
|
x = j;
|
x = j;
|
}
|
}
|
|
|
/* The assignment "i = 3" is partialy dead. Our DSE pass doesn't handle
|
/* The assignment "i = 3" is partialy dead. Our DSE pass doesn't handle
|
detection of partially dead assignments.
|
detection of partially dead assignments.
|
|
|
There's two outputs which would indicate that the optimization was
|
There's two outputs which would indicate that the optimization was
|
performed.
|
performed.
|
|
|
If we used block copying to detect and eliminate the partially dead
|
If we used block copying to detect and eliminate the partially dead
|
store, then we should see an assignment "i = 5" somewhere in the
|
store, then we should see an assignment "i = 5" somewhere in the
|
dump file.
|
dump file.
|
|
|
Another approach would be to redirect the path from the true arm
|
Another approach would be to redirect the path from the true arm
|
of the first conditional so that it reaches the statement *p = 5
|
of the first conditional so that it reaches the statement *p = 5
|
rather than i = 3. */
|
rather than i = 3. */
|
|
|
/* { dg-final { scan-tree-dump-times "i = 5" 1 "optimized" { xfail *-*-* }} } */
|
/* { dg-final { scan-tree-dump-times "i = 5" 1 "optimized" { xfail *-*-* }} } */
|
/* { dg-final { scan-tree-dump-times "<L.*>:;\[\n\t \]*\\*p = 5" 1 "optimized" { xfail *-*-*}} } */
|
/* { dg-final { scan-tree-dump-times "<L.*>:;\[\n\t \]*\\*p = 5" 1 "optimized" { xfail *-*-*}} } */
|
|
|
/* { 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.