aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineFunction.cpp
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2017-11-15 00:11:51 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2017-11-15 00:11:51 +0000
commitcff19ee2330f86e3f3cc320b89e928c97437b932 (patch)
treef18f594c4523b2ffc7c5f302e19c9cba455205bf /llvm/lib/CodeGen/MachineFunction.cpp
parent8202521cf57bf1cbe77e3fe3228e15580b1388d3 (diff)
downloadllvm-cff19ee2330f86e3f3cc320b89e928c97437b932.zip
llvm-cff19ee2330f86e3f3cc320b89e928c97437b932.tar.gz
llvm-cff19ee2330f86e3f3cc320b89e928c97437b932.tar.bz2
[asan] Prevent rematerialization of &__asan_shadow.
Summary: In the mode when ASan shadow base is computed as the address of an external global (__asan_shadow, currently on android/arm32 only), regalloc prefers to rematerialize this value to save register spills. Even in -Os. On arm32 it is rather expensive (2 loads + 1 constant pool entry). This changes adds an inline asm in the function prologue to suppress this behavior. It reduces AsanTest binary size by 7%. Reviewers: pcc, vitalybuka Subscribers: aemerson, kristof.beyls, hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D40048 llvm-svn: 318235
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunction.cpp')
0 files changed, 0 insertions, 0 deletions