------- Additional Comments From rguenth at tat dot physik dot uni-tuebingen dot de 2005-08-13 14:17 ------- The problem is, we end up with
void g(A*) (a) { struct A D.1608; <bb 0>: D.1608 = *a; f (D.1608) [tail call]; return; } after the tree optimizers. f (*a) would not be gimple, so we create the temporary in the first place. TER does not remove this wart, neither does expand - so we start with two memcpys after RTL expansion. This is definitively different from PR16405. -- What |Removed |Added ---------------------------------------------------------------------------- CC| |rguenth at gcc dot gnu dot | |org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23372