]> granicus.if.org Git - llvm/commit
hwasan: Use bits [3..11) of the ring buffer entry address as the base stack tag.
authorPeter Collingbourne <peter@pcc.me.uk>
Mon, 17 Jun 2019 23:39:51 +0000 (23:39 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Mon, 17 Jun 2019 23:39:51 +0000 (23:39 +0000)
commit644422a4d3f3afaeec80f0183065af9cb894411d
treeac86ddfb065923a4c98e31d1560b258406e98b61
parentf159a1182eabe15e1f6dcd9512bf47be5c8a0c66
hwasan: Use bits [3..11) of the ring buffer entry address as the base stack tag.

This saves roughly 32 bytes of instructions per function with stack objects
and causes us to preserve enough information that we can recover the original
tags of all stack variables.

Now that stack tags are deterministic, we no longer need to pass
-hwasan-generate-tags-with-calls during check-hwasan. This also means that
the new stack tag generation mechanism is exercised by check-hwasan.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@363636 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
test/Instrumentation/HWAddressSanitizer/dbg-declare-tag-offset.ll
test/Instrumentation/HWAddressSanitizer/prologue.ll