llvm-project/llvm/lib/Transforms/Instrumentation
Evgeniy Stepanov d1aad26589 [safestack] Fast access to the unsafe stack pointer on AArch64/Android.
Android libc provides a fixed TLS slot for the unsafe stack pointer,
and this change implements direct access to that slot on AArch64 via
__builtin_thread_pointer() + offset.

This change also moves more code into TargetLowering and its
target-specific subclasses to get rid of target-specific codegen
in SafeStackPass.

This change does not touch the ARM backend because ARM lowers
builting_thread_pointer as aeabi_read_tp, which is not available
on Android.

The previous iteration of this change was reverted in r250461. This
version leaves the generic, compiler-rt based implementation in
SafeStack.cpp instead of moving it to TargetLoweringBase in order to
allow testing without a TargetMachine.

llvm-svn: 251324
2015-10-26 18:28:25 +00:00
..
AddressSanitizer.cpp Refactor: Simplify boolean conditional return statements in lib/Transforms/Instrumentation 2015-10-26 18:06:40 +00:00
BoundsChecking.cpp Instrumentation: Remove ilist iterator implicit conversions, NFC 2015-10-13 17:39:10 +00:00
CMakeLists.txt Protection against stack-based memory corruption errors using SafeStack 2015-06-15 21:07:11 +00:00
DataFlowSanitizer.cpp Instrumentation: Remove ilist iterator implicit conversions, NFC 2015-10-13 17:39:10 +00:00
GCOVProfiling.cpp Instrumentation: Remove ilist iterator implicit conversions, NFC 2015-10-13 17:39:10 +00:00
InstrProfiling.cpp Add more intrumentation/runtime helper interfaces (NFC) 2015-10-23 04:22:58 +00:00
Instrumentation.cpp Instrumentation: Remove ilist iterator implicit conversions, NFC 2015-10-13 17:39:10 +00:00
LLVMBuild.txt Update libdeps since TLI was moved from Target to Analysis in r226078. 2015-01-15 05:21:00 +00:00
Makefile
MaximumSpanningTree.h
MemorySanitizer.cpp [MemorySanitizer] NFC. Do not use GET_INTRINSIC_MODREF_BEHAVIOR table. 2015-10-20 21:33:30 +00:00
SafeStack.cpp [safestack] Fast access to the unsafe stack pointer on AArch64/Android. 2015-10-26 18:28:25 +00:00
SanitizerCoverage.cpp Instrumentation: Remove ilist iterator implicit conversions, NFC 2015-10-13 17:39:10 +00:00
ThreadSanitizer.cpp Try to appease VS 2015 warnings from http://reviews.llvm.org/D11890 2015-08-15 19:06:14 +00:00