contech
contech copied to clipboard
Investigate LLVM Analysis Support
What alias analysis support does LLVM provide? Could it support RAC further? Or could this be ruled out?
http://llvm.org/docs/AliasAnalysis.html
The immediate is that the analysis will not detect:
int i; // Taken from the above link
char C[2];
char A[10];
/* ... */
for (i = 0; i != 10; ++i) {
C[0] = A[i]; /* One byte store */
C[1] = A[9-i]; /* One byte store */
}
We want these pointers to be detected from RAC, which the AA pass would not detect. Need to investigate further, and/or add text in paper about this point.