[all-commits] [llvm/llvm-project] e9e6ba: [msan] Handle single-parameter Arm NEON vector con...
Thurston Dang via All-commits
all-commits at lists.llvm.org
Wed Feb 12 13:20:45 PST 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e9e6ba6a5e2a4ca7386861136196903febb9968b
https://github.com/llvm/llvm-project/commit/e9e6ba6a5e2a4ca7386861136196903febb9968b
Author: Thurston Dang <thurston at google.com>
Date: 2025-02-12 (Wed, 12 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-cvt.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vcvt.ll
Log Message:
-----------
[msan] Handle single-parameter Arm NEON vector convert intrinsics (#126136)
This handles the following llvm.aarch64.neon intrinsics, which were suboptimally handled by visitInstruction:
- fcvtas, fcvtau
- fcvtms, fcvtmu
- fcvtns, fcvtnu
- fcvtps, fcvtpu
- fcvtzs, fcvtzu
The old instrumentation checked that the shadow of every element of the input vector was fully initialized, and aborted otherwise. The new instrumentation propagates the shadow: for each element of the output, the shadow is initialized iff the corresponding element of the input is *fully* initialized (since these are floating-point to integer conversions).
Updates the tests from https://github.com/llvm/llvm-project/pull/126095
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list