On Fri, May 17, 2013 at 04:03:25PM +0400, Ilya Enkovich wrote: > Here is GIMPLE after my instrumentation. Instrumentation > statements/expressions are marked with +++ > > test () > { > +++<unnamed type> __tmp.0;+++ > char * name; > int D.1761; > int _5; > > <bb 10>: > +++__tmp.0_9 = __length_1;+++ > +++__tmp.0_8(ab) = __zero_length;+++
I think this is wrong, you are using the same underlying var __tmp.0 for two values concurrently when at least one of them is (ab). If _9 is not (ab), why don't you use just _9 (anon SSA_NAME), or a different underlying decl for that? Jakub