Add parameter extension attributes in various instrumentation passes.
authorJonas Paulsson <paulsson@linux.vnet.ibm.com>
Thu, 15 Sep 2022 06:54:36 +0000 (08:54 +0200)
committerJonas Paulsson <paulsson@linux.vnet.ibm.com>
Thu, 19 Jan 2023 00:29:12 +0000 (18:29 -0600)
commitdc3875e468360b59300b02fdd0f940f4f6429629
tree60222378fb8f39146f41e59b57621ce808f0962d
parent0660397e68096a64279b19f913e7de2c283e524f
Add parameter extension attributes in various instrumentation passes.

For the targets that have in their ABI the requirement that arguments and
return values are extended to the full register bitwidth, it is important
that calls when built also take care of this detail.

The OMPIRBuilder, AddressSanitizer, GCOVProfiling, MemorySanitizer and
ThreadSanitizer passes are with this patch hopefully now doing this properly.

Reviewed By: Eli Friedman, Ulrich Weigand, Johannes Doerfert

Differential Revision: https://reviews.llvm.org/D133949
18 files changed:
clang/test/OpenMP/interop_irbuilder.cpp
llvm/include/llvm/Analysis/TargetLibraryInfo.h
llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
llvm/lib/Analysis/TargetLibraryInfo.cpp
llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
llvm/test/Instrumentation/AddressSanitizer/experiment.ll
llvm/test/Instrumentation/AddressSanitizer/mem-intrinsics.ll
llvm/test/Instrumentation/MemorySanitizer/Mips/vararg-mips64.ll
llvm/test/Instrumentation/MemorySanitizer/SystemZ/vararg.ll
llvm/test/Instrumentation/MemorySanitizer/atomics.ll
llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll
llvm/test/Instrumentation/ThreadSanitizer/atomic.ll
llvm/test/Transforms/GCOVProfiling/function-numbering.ll
llvm/test/Transforms/OpenMP/add_attributes.ll