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];
__attribute__((noinline))
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.
Also, would someone please suggest code samples that perform llvm memory aliasing analysis.
Thank you,
David Livshin www.dalsoft.com