D109746 made BasicAA use range information to determine the minimum/maximum GEP offset. However, it was limited to the case of a single variable index. This patch extends support to multiple indices by adding all the ranges together.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Nice !
llvm/lib/Analysis/BasicAliasAnalysis.cpp | ||
---|---|---|
1283 | this works because Scale and Offset (and therefore, Range) have the same bit width (MaxPointerSize). Maybe add an assert((Range.getBitWidth() == Scale.getBitWidth()) && "why this is guaranteed") ? |
clang-format: please reformat the code