[PATCH] D143482: [SanitizerBinaryMetadata] Optimize used space for features and UAR stack args
Marco Elver via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 7 02:10:50 PST 2023
melver created this revision.
melver added a reviewer: dvyukov.
Herald added subscribers: Enna1, hiraditya.
Herald added a project: All.
melver requested review of this revision.
Herald added projects: clang, Sanitizers, LLVM.
Herald added subscribers: llvm-commits, Sanitizers, cfe-commits.
Optimize the encoding of "covered" metadata by:
1. Reducing feature mask from 4 bytes to 1 byte (needs increase once we reach more than 8 features).
2. Only emitting UAR stack args size if it is non-zero, saving 4 bytes in the common case.
One caveat is that the emitted metadata for function PC (offset), size,
and UAR size (if enabled) are no longer aligned to 4 bytes.
SanitizerBinaryMetadata version base is increased to 2, since the change
is backwards incompatible.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D143482
Files:
clang/test/CodeGen/sanitize-metadata.c
compiler-rt/test/metadata/common.h
compiler-rt/test/metadata/covered.cpp
compiler-rt/test/metadata/lit.site.cfg.py.in
compiler-rt/test/metadata/uar.cpp
llvm/include/llvm/Transforms/Instrumentation/SanitizerBinaryMetadata.h
llvm/lib/CodeGen/SanitizerBinaryMetadata.cpp
llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
llvm/test/Instrumentation/SanitizerBinaryMetadata/atomics.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D143482.495436.patch
Type: text/x-patch
Size: 15694 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230207/3a5c6bcf/attachment.bin>
More information about the llvm-commits
mailing list