Atheel Massalha via llvm-dev
2018-May-17 03:51 UTC
[llvm-dev] [LLVM-dev][RFC] Adding 2 functions to the ALiasAnalysis interface (getAddressesDistance + ModRefSameBuffer)
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/20180517/6058ded4/attachment.html>