[all-commits] [llvm/llvm-project] be6019: [HWASAN] Inline fast pass of instrumentMemAccessOu...

Vitaly Buka via All-commits all-commits at lists.llvm.org
Thu Aug 31 21:27:16 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: be601928e1ee6bc9b2e09c53c98fb0df85b6233c
      https://github.com/llvm/llvm-project/commit/be601928e1ee6bc9b2e09c53c98fb0df85b6233c
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-08-31 (Thu, 31 Aug 2023)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/atomic.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/basic.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/exception-lifetime.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/use-after-scope-setjmp.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/basic.ll

  Log Message:
  -----------
  [HWASAN] Inline fast pass of instrumentMemAccessOutline

Usually pointer tag will match tag in the shadow, so we can keep
inlining this check keeping the rest in outlined part.

It imroves performance by about 25%, but increases code size by 30%.
Existing outlining reduces performance by 30%, but saves code size by 80%.
So we still significantly reduce code size with minimal performance loss.

Reviewed By: fmayer

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




More information about the All-commits mailing list