/* { dg-do compile } */ | |
/* { dg-options "-O2 -fdump-tree-optimized" } */ | |
/* We want this optimized as | |
<bb 2>: | |
if (k != 0) goto <L2>; else goto <L3>; | |
<L3>:; | |
i1 = j1; | |
<L2>:; | |
return i1; | |
This requires that i1 and j1 are changed into registers after they | |
no longer have their address taken. */ | |
int f(int k, int i1, int j1) | |
{ | |
int *f1; | |
if(k) | |
f1 = &i1; | |
else | |
f1 = &j1; | |
return *f1; | |
} | |
/* { dg-final { scan-tree-dump "\[^\r\n\]*_. = PHI <\[ij\]1_\[^,\]*, \[ij\]1_\[^>\]*>" "optimized" } } */ |