问题
I want to check if the values a and b in the program alias.
int main() {
int *a,*b;
a=(int *)malloc(sizeof(int));
b=(int *)malloc(sizeof(int));
*a=10;
*b=8;
return 0;
}
I use the below code for this (getAnalysisUsage method has been defined)
AliasAnalysis::Location loc1=AliasAnalysis::Location(k1); //a
AliasAnalysis::Location loc2=AliasAnalysis::Location(k2); //b
AliasAnalysis::AliasResult ar=AA.alias(loc1,loc2);
But I get ar=1 i.e May Alias result. Where am I going wrong? I have included -basicaa option in the opt command for running this.
来源:https://stackoverflow.com/questions/9999623/incorrect-result-in-llvm-alias-analysis