The patch is a proof of concept to create a hook to make AddressSanitizer to
handle target intrinsics for memory references.
The function getInterestingMemoryOperand(Intrinsic) will return an InterestingMemoryOperand
object of the input intrinsic. InterestingMemoryOperand is a data structure
to track information of memory references and used by AddressSanitizer and
HWAddressSanitizer.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Event Timeline
llvm/include/llvm/Analysis/TargetTransformInfo.h | ||
---|---|---|
32 | Thank you for your reminder. I think we could create a new file "llvm/Support/InterestingMemoryOperand.h" to move InterestingMemoryOperand out. Do you think it is a good idea? |
llvm/include/llvm/Analysis/TargetTransformInfo.h | ||
---|---|---|
889 | Interesting is mispelled |
This update does 3 things,
- Refine commit message.
- Create llvm/include/llvm/Support/InterestingMemoryOperand.h to define InterestingMemoryOperand.
- Fix typos.
llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp | ||
---|---|---|
1307–1312 | nit: combine into the existing if-then-else chain. |
llvm/include/llvm/Analysis/TargetTransformInfo.h | ||
---|---|---|
889 | I am bad at naming. Do you think MemoryRefInfo is a good new name? |
llvm/include/llvm/Analysis/TargetTransformInfo.h | ||
---|---|---|
889 | Sounds a lot better to me. |
This looks like a layering violation? I don't think analysis can depend on this?