> Jakub, > thanks a lot for looking into this! I am now bit on tight schedule moving back > to Prague and I knew little about the implementation of debug info for > optimized out arguments. Hi, here is better testcase that also trigger splitting struct a {int a;int b;};
inline static int reta (struct a a, int unused, int c) { if (__builtin_expect (c,1) != 0) { return c; } test(); test(); test(); test(); test(); test(); test(); test(); test(); return a.a; } main() { struct a a={1,1}; int v = reta(a,1,1); struct a a2={1,1}; v += reta(a2,2,1); return v; } Compile with -fno-early-inlining Honza