On Jun 20, 2006, at 7:20 AM, Andrew Haley wrote:
Does using fields of auto variables of union type generate code that is less efficient than it would be using scalars?
If it is only one used field at a time (and the address is not taken), then FRE will resolve them. Take: int f(int t, int t1) { union f { int n; float n1; } f1, f2; f1.n = t; f2.n1 = t1; int t2 = f1.n; f1.n1 = t2; return f1.n1 + f2.n1 * f1.n1; } in final_cleanup, we get: D.1522 = (float) t; return (int) (D.1522 + (float) t1 * D.1522);