Hi everyone, I was working around with the analyzer, but I usually dump the SSA-tree to get a view of the analyzed code. This is how I noticed something wrong, at least in the sense of the definition of SSA form. I'm using a version of gcc build from a /trunk/ branch (/20230309/). Here is an example code: ''' int main(void) {     int x = 42;     int * y = &x;     x = 6;     return x; } ''' And here is the output from -fdump-tree-ssa-vops: ''' ;; Function main (main, funcdef_no=0, decl_uid=2739, cgraph_uid=1, symbol_order=0) int main () {   int * y;   int x;   int D.2744;   int _5;   :   # .MEM_2 = VDEF <.MEM_1(D)>   x = 42;                                           // First assignment to var_decl x   y_3 = &x;   # .MEM_4 = VDEF <.MEM_2>   x = 6;                                             // Second assignment to var_decl x   # VUSE <.MEM_4>   _5 = x;   # .MEM_6 = VDEF <.MEM_4>   x ={v} {CLOBBER(eol)};   : :   # VUSE <.MEM_6>   return _5; } ''' The thing is, there is two distinct assignment to the same LHS tree at two different gimple statement, which is by definition not supposed to happened in SSA form. Is there any particular reason this happen? Is that because the address of x is taken and stored? I have to precise, I did not dig into the SSA form transformation and am a newbie to gcc source code. So maybe my question is a bit naive or a known issue. Thank you for your time, Pierrick