[all-commits] [llvm/llvm-project] 9588b6: [asan] Implemented intrinsic for the custom callin...

kstoimenov via All-commits all-commits at lists.llvm.org
Tue Aug 24 12:35:35 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9588b685c6b2d90e4b6dd68e02e6a44affd77c3f
      https://github.com/llvm/llvm-project/commit/9588b685c6b2d90e4b6dd68e02e6a44affd77c3f
  Author: Kirill Stoimenov <kstoimenov at google.com>
  Date:   2021-08-24 (Tue, 24 Aug 2021)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h
    M llvm/lib/Target/X86/X86AsmPrinter.cpp
    M llvm/lib/Target/X86/X86AsmPrinter.h
    M llvm/lib/Target/X86/X86InstrCompiler.td
    M llvm/lib/Target/X86/X86MCInstLower.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.td
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    A llvm/test/CodeGen/X86/asan-check-memaccess-add.ll
    A llvm/test/CodeGen/X86/asan-check-memaccess-or.ll
    M llvm/tools/llvm-exegesis/CMakeLists.txt

  Log Message:
  -----------
  [asan] Implemented intrinsic for the custom calling convention similar used by HWASan for X86.

The implementation uses the int_asan_check_memaccess intrinsic to instrument the code. The intrinsic is replaced by a call to a function which performs the access check. The generated function names encode the input register name as a number using Reg - X86::NoRegister formula.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D107850




More information about the All-commits mailing list