[llvm-dev] adding 2 new functions to the AliasAnalysis interface
Atheel Massalha via llvm-dev
llvm-dev at lists.llvm.org
Wed Jun 20 02:31:52 PDT 2018
Hi,
RFC
Im adding 2 new functions to the AliasAnalysis interface:
1) ModRefSameBufferCheck:
this function will receive 2 memoryLocation as parameters, and returns
true if the parameters are modifying or refering the same buffer or
same memory block, false otherwise.
2) getAddressesDistance:
the function will recieve 2 memoryLocation, if they are mod/ref-ing
the same buffer/memory block, the function will return the distance
between those locations at the memory. None otherwise
(Optional<int64_t>)
interface change:https://reviews.llvm.org/D46864
those 2 function can be impelemented easly in AlisAnalysis and can help
alot of users, a usage example is for detecting bank conflicts (using the
distance between memoryLoc and the number and size of the banks you can
know if you have a conflict).
implementation and usage example (with code duplication for a first
implementation, lets discuss the idea first):https://reviews.llvm.org/D46928
I saw one bad implemntation for detecting bank conflicts in Hexagon
open-source, but it wont realy work for most of examples, they only check
if the registers are equal.. in my implamentation I check the real distance
between locations...
thanks,
Atheel Massalha
Compiler Engineer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180620/69fc9259/attachment.html>
More information about the llvm-dev
mailing list