ORAQL: Optimistic Responses to Alias Queries in LLVM
Parallel Programming Systems
TimeSunday, 14 November 20212:46pm - 2:53pm CST
DescriptionAlias analysis is a prerequisite to many compiler optimizations for high performance and parallel programs. Alias analysis at compile time is hard and necessarily imperfect. This often means that a problematic query is conservatively answered with may-alias, even in situations where a definitive must- or no-alias answer would be correct and result in a faster compiled program. Significant effort goes into improving alias analysis, as well as to improve programs to better benefit from it.
ORAQL combines a new alias analysis pass in LLVM with external probing. Together, they determine a locally maximal set of queries that can be answered no-alias optimistically, without breaking a set of automated tests supplied by the user. This information helps determine the potential gains from developing new alias analysis passes or better annotating a given input program, and can guide developer efforts towards the analysis types or code modifications with the greatest performance impact.