diff options
| author | whitequark <whitequark@whitequark.org> | 2017-06-23 18:58:10 +0000 |
|---|---|---|
| committer | whitequark <whitequark@whitequark.org> | 2017-06-23 18:58:10 +0000 |
| commit | 00ede4dcc1ff252d39f377b2858e5081351465c4 (patch) | |
| tree | 8ca594a300140c891810cffa4047152f5170d95b /llvm/test/Bitcode/Inputs/thinlto-function-summary-callgraph.ll | |
| parent | 0b36c3ebd008e04ad2e1fc557403c97e04e9052e (diff) | |
| download | bcm5719-llvm-00ede4dcc1ff252d39f377b2858e5081351465c4.tar.gz bcm5719-llvm-00ede4dcc1ff252d39f377b2858e5081351465c4.zip | |
[X86] Fix SP adjustment in stack probes emitted on 32-bit Windows.
Commit r306010 adjusted the condition as follows:
- if (Is64Bit) {
+ if (!STI.isTargetWin32()) {
The intent was to preserve the behavior on all Windows platforms
but extend the behavior on 64-bit Windows platforms to every
other one. (Before r306010, emitStackProbeCall only ever executed
when emitting code for Windows triples.)
Unfortunately,
if (Is64Bit && STI.isOSWindows())
is not the same as
if (!STI.isTargetWin32())
because of the way isTargetWin32() is defined:
bool isTargetWin32() const {
return !In64BitMode && (isTargetCygMing() ||
isTargetKnownWindowsMSVC());
}
In practice this broke the JIT tests on 32-bit Windows, which did not
satisfy the new condition:
LLVM :: ExecutionEngine/MCJIT/2003-01-15-AlignmentTest.ll
LLVM :: ExecutionEngine/MCJIT/2003-08-15-AllocaAssertion.ll
LLVM :: ExecutionEngine/MCJIT/2003-08-23-RegisterAllocatePhysReg.ll
LLVM :: ExecutionEngine/MCJIT/test-loadstore.ll
LLVM :: ExecutionEngine/OrcMCJIT/2003-01-15-AlignmentTest.ll
LLVM :: ExecutionEngine/OrcMCJIT/2003-08-15-AllocaAssertion.ll
LLVM :: ExecutionEngine/OrcMCJIT/2003-08-23-RegisterAllocatePhysReg.ll
LLVM :: ExecutionEngine/OrcMCJIT/test-loadstore.ll
because %esp was not updated correctly. The failures are only visible
on a MSVC 2017 Debug build, for which we do not have bots.
llvm-svn: 306142
Diffstat (limited to 'llvm/test/Bitcode/Inputs/thinlto-function-summary-callgraph.ll')
0 files changed, 0 insertions, 0 deletions

