[llvm] [HWASAN] Use sign extension in memToShadow() and untagPointer() (PR #103727)

Florian Mayer via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 20 10:36:53 PDT 2024


fmayer wrote:

> > I'm curious if there's any benchmarks or intuition on the performance impact for AArch64?
> > The commit message mentions that two shifts can be folded together in the backend, but the new LLVM IR is longer (e.g., llvm/test/Instrumentation/HWAddressSanitizer/RISCV/alloca-with-calls.ll replaces an 'and' with 'shl' and 'ashr'), so it sounds like the overall AArch64 instruction count is unchanged; it's not clear to me whether the old or new AArch64 instructions will run faster.
> 
> Probably less one register?
> 
> I don't expect a measureable difference, but it looks nicer to me.

@SiFiveHolland can you please comment on this?

https://github.com/llvm/llvm-project/pull/103727


More information about the llvm-commits mailing list