Memory aliasing


Would someone please show me how, by the means provided by the llvm library, to establish
that ( in the clang-generated IR file ) ‘foo1’ is not affected by ‘foo’:

extern double d[3];

double foo1()

return d[2];


void foo()

d[1] += foo1();


Needless to say that I tried to use SSA-derived functionality but couldn’t get anything useful.

Thank you,

David Livshin