[PATCH] D32198: [TySan] A Type Sanitizer (LLVM)

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jun 5 15:26:15 PDT 2022


MaskRay added inline comments.


================
Comment at: llvm/include/llvm/IR/Attributes.td:330
 def : CompatRule<"isEqual<SanitizeMemTagAttr>">;
+ def : CompatRule<"isEqual<SanitizeTypeAttr>">;
 def : CompatRule<"isEqual<SafeStackAttr>">;
----------------



================
Comment at: llvm/include/llvm/InitializePasses.h:449
 void initializeThreadSanitizerLegacyPassPass(PassRegistry&);
+void initializeTypeSanitizerLegacyPassPass(PassRegistry &);
 void initializeTLSVariableHoistLegacyPassPass(PassRegistry &);
----------------
Remove the legacy pass


================
Comment at: llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp:207
+static std::string encodeName(StringRef Name) {
+  static const char *const LUT = "0123456789abcdef";
+  size_t Length = Name.size();
----------------
`static const char LUT[] = ...`


================
Comment at: llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp:214
+    const unsigned char c = Name[i];
+
+    if (isalnum((int)c)) {
----------------
excess blank line


================
Comment at: llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp:488
+  SmallSetVector<const MDNode *, 8> TBAAMetadata;
+  SmallVector<Value *, 8> MemTypeResetInsts;
+
----------------
ditto everywhere


================
Comment at: llvm/test/Instrumentation/TypeSanitizer/basic.ll:1
+; Test basic type sanitizer instrumentation.
+;
----------------
Switch to opaque pointers (https://llvm.org/docs/OpaquePointers.html)


================
Comment at: llvm/test/Instrumentation/TypeSanitizer/basic.ll:352
+
+; CHECK-LABEL: @byval_test
+; CHECK: [[V0:%[0-9]+]] = load i64, i64* @__tysan_app_memory_mask
----------------
ditto everywhere


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D32198/new/

https://reviews.llvm.org/D32198



More information about the llvm-commits mailing list