[PATCH] D115396: [ASan] Replace IR based callbacks with shared assembly code callbacks.

Matt Morehouse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 9 09:03:07 PST 2021


morehouse added inline comments.


================
Comment at: llvm/lib/Target/X86/X86MCInstLower.cpp:1351
   std::string Name = AccessInfo.IsWrite ? "store" : "load";
-  MCSymbol *ReportError = OutContext.getOrCreateSymbol(
-      "__asan_report_" + Name + utostr(1ULL << AccessInfo.AccessSizeIndex));
-  OutStreamer->emitInstruction(MCInstBuilder(X86::MOV64rr)
-                                   .addReg(X86::RDI)
-                                   .addReg(X86::NoRegister + Reg),
-                               STI);
-  OutStreamer->emitInstruction(
-      MCInstBuilder(X86::JMP_4)
-          .addExpr(MCSymbolRefExpr::create(ReportError, MCSymbolRefExpr::VK_PLT,
-                                           OutContext)),
-      STI);
-}
+  std::string Op = OrShadowOffset ? "or" : "add";
+  std::string SymName = "__asan_check_" + Name + "_" + Op + "_" +
----------------
We didn't implement OR callbacks, did we?  Probably we should not emit calls to them.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D115396



More information about the llvm-commits mailing list