This is an archive of the discontinued LLVM Phabricator instance.

[ASAN] Support memory checks on scalable vector typed loads and stores
ClosedPublic

Authored by reames on Mar 2 2023, 11:32 AM.

Details

Summary

This only covers the common load/store case. There will be further patches required for masked load/store and some of the fast-path optimization cases.

Diff Detail

Event Timeline

reames created this revision.Mar 2 2023, 11:32 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 2 2023, 11:32 AM
reames requested review of this revision.Mar 2 2023, 11:32 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 2 2023, 11:32 AM
craig.topper added inline comments.Mar 2 2023, 12:00 PM
llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
1425

Should we call TypeStoreSize.getFixedValue() while we're here instead of using implicit conversion to unsigned?

reames added inline comments.Mar 2 2023, 12:42 PM
llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
1425

Honestly, it should probably be a switch inside a condition. Mind if I do that as a separate post commit? I'd like to keep the change isolated here.

craig.topper added inline comments.Mar 2 2023, 1:13 PM
llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
1425

Sure.

Changes are look reasonable and good to me, but I am also new for ASan too, I guess we need few more eye to review.

asb accepted this revision.Mar 8 2023, 2:12 AM

My familiarity with ASan is also low, but this seems correct to me.

This revision is now accepted and ready to land.Mar 8 2023, 2:12 AM
This revision was landed with ongoing or failed builds.Mar 9 2023, 8:15 AM
This revision was automatically updated to reflect the committed changes.