On 25/02/2011 19:21, Kyle Girard wrote: > I was hoping to see the assignment.
> Looking at the gimple output there is no way to see that 'a' was > assigned in bar(). So that it can be used in wik(). Am I > misunderstanding something shouldn't there be a way to see the > assignment in bar? Do I have to parse the expression statement or are > things already optimized away and there is no way to get the information > that I seek. Ah, right. Yes, the stuff you see at the GIMPLE level has already been substantially processed compared to the original AST - operations decomposed, constants folded, that kind of thing. For instance if (like Andrew suggests) we add a "int x;" declaration in class A from your original example, we get: > void foo::bar(A&) (struct foo * const this, struct A & aa) > { > this->a = MEM[(const struct A &)aa]; > } You probably need to look earlier than GIMPLE time. What plugin event are you hooking? cheers, DaveK