https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91439
--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> --- We rewrite: main (int argc, char * * argv) { int D.2275; int _3; <bb 2> : f (&argc); into: main (int argc, char * * argv) { int argc; int D.2275; int _3; <bb 4> : argc = argc_4(D); <bb 2> : f (&argc); when I make a step in the function, I get proper value: 4 f(&argc); (gdb) p argc $2 = 1 We build a GIMPLE assignment: g = gimple_build_assign (var, tmp); @Jakub: What should I do to say that the VAR_DECL has the same value as PARM_DECL at the very beginning of the function?