Hi I am trying to understand the workings of alias analysis and why it behaves it a particular way. I am using the alias analysis branch of gcc4.0
I find that for the following snippet of code main() { foo(A) } foo(int** array) { } Array is retuned as points-to ANYTHING in the points to set!! Interprocedual alias analayis is supposed to be hard but why is that ? If the functions address is not taken, isnt is a matter of just matching formal and actual arguments and doing a closure. Is the persumed hardness because the whole source of the program might not be available and so all the call sites might not be found. I will apreciate any answers/papers/ pointers to understand this thanks Shrey