Don't try to instrument allocas used by outlined SEH funclets
authorReid Kleckner <reid@kleckner.net>
Mon, 20 Jul 2015 22:49:44 +0000 (22:49 +0000)
committerReid Kleckner <reid@kleckner.net>
Mon, 20 Jul 2015 22:49:44 +0000 (22:49 +0000)
commitdfc9688bd9155479972d313ff4726816f45ad493
tree8add06789fa39d5d2654878f6d9ff12dec5dca47
parentbb418bc23b24d7118d11ee19fb9cb6410f787d5a
Don't try to instrument allocas used by outlined SEH funclets

Summary:
Arguments to llvm.localescape must be static allocas. They must be at
some statically known offset from the frame or stack pointer so that
other functions can access them with localrecover.

If we ever want to instrument these, we can use more indirection to
recover the addresses of these local variables. We can do it during
clang irgen or with the asan module pass.

Reviewers: eugenis

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D11307

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242726 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Instrumentation/AddressSanitizer.cpp
test/Instrumentation/AddressSanitizer/localescape.ll [new file with mode: 0644]