On Wed, May 20, 2015 at 02:18:37PM +0100, David Howells wrote: > Paul E. McKenney <paul...@linux.vnet.ibm.com> wrote: > > > > Additionally, what about the following code? > > > > > > char *x = y ? z : z; > > > > > > Does that extend a dependency chain from z to x? If so, I can imagine a > > > CPU breaking that in practice. > > > > I am not seeing this. I would expect the compiler to optimize to > > something like this: > > > > char *x = z; > > Why? What if y has a potential side-effect (say it makes a function call)?
I was thinking of "y" as a simple variable, but if it is something more complex, then the compiler could do this, right? char *x; y; x = z; Thanx, Paul