Merging r261387:
authorHans Wennborg <hans@hanshq.net>
Mon, 22 Feb 2016 17:51:28 +0000 (17:51 +0000)
committerHans Wennborg <hans@hanshq.net>
Mon, 22 Feb 2016 17:51:28 +0000 (17:51 +0000)
commitf65e46be097186d748836d42c38a6dc7f30e6c3b
treedae47a951cb214d5a1093f1ba0c784a30e044b92
parente3b2bd1e79c9c9d24490b6ddb2341afcf4210691
Merging r261387:
------------------------------------------------------------------------
r261387 | davide | 2016-02-19 16:44:47 -0800 (Fri, 19 Feb 2016) | 8 lines

[X86ISelLowering] Fix TLSADDR lowering when shrink-wrapping is enabled.

TLSADDR nodes are lowered into actuall calls inside MC. In order to prevent
shrink-wrapping from pushing prologue/epilogue past them (which result
in TLS variables being accessed before the stack frame is set up), we
put markers, so that the stack gets adjusted properly.
Thanks to Quentin Colombet for guidance/help on how to fix this problem!

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_38@261542 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86ISelLowering.h
lib/Target/X86/X86InstrCompiler.td
test/CodeGen/X86/tls-shrink-wrapping.ll [new file with mode: 0644]