[Orc] Add stack-realignment code to the i386 resolver function.
authorLang Hames <lhames@gmail.com>
Sun, 21 Feb 2016 22:50:26 +0000 (22:50 +0000)
committerLang Hames <lhames@gmail.com>
Sun, 21 Feb 2016 22:50:26 +0000 (22:50 +0000)
commite1fd99c197ede469c25d2c25e24397130a0a48f3
treeb18ee8b2dddf977d0e78bb6bb52c9593f19a337e
parentf65e407c6e7248b54074610b5faabd2a4f176246
[Orc] Add stack-realignment code to the i386 resolver function.

The resolver uses the fxsave/fxrstor instructions, which require 16-byte
alignment, to save SSE state to the stack. Since 16-byte alignment can't be
assumed on all OSes (and all i386 OSes share this function) - add code to
automatically bump the alignment to 16-bytes on entry to the function.

llvm-svn: 261503
llvm/include/llvm/ExecutionEngine/Orc/OrcArchitectureSupport.h
llvm/lib/ExecutionEngine/Orc/OrcArchitectureSupport.cpp