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)
commit87d03450a5a25a75b2c22862ec438ad4d916bd50
treead034558f7285d1d131e2ba1f96a354175dc9f89
parentaa62fc093c3e9b83040197ab36e932e8ae221c5d
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

llvm-svn: 242726
llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
llvm/test/Instrumentation/AddressSanitizer/localescape.ll [new file with mode: 0644]