]> granicus.if.org Git - llvm/commit
[X86] Fix stack probe issue on windows32.
authorLuo, Yuanke <yuanke.luo@intel.com>
Sat, 10 Aug 2019 02:49:02 +0000 (02:49 +0000)
committerLuo, Yuanke <yuanke.luo@intel.com>
Sat, 10 Aug 2019 02:49:02 +0000 (02:49 +0000)
commit81af45aba0fdfae824dd37b2b80b283adf3ac961
tree13c9511bc441756fa4eb2a2356e7d758a3a94d02
parent76cff239b02840fc5e73e4fef0113b37c06b2541
[X86] Fix stack probe issue on windows32.

Summary:
On windows if the frame size exceed 4096 bytes, compiler need to
generate a call to _alloca_probe. X86CallFrameOptimization pass
changes the reserved stack size and cause of stack probe function
not be inserted. This patch fix the issue by detecting the call
frame size, if the size exceed 4096 bytes, drop X86CallFrameOptimization.

Reviewers: craig.topper, wxiao3, annita.zhang, rnk, RKSimon

Reviewed By: rnk

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D65923

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@368503 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86CallFrameOptimization.cpp
lib/Target/X86/X86FrameLowering.cpp
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86ISelLowering.h
test/CodeGen/X86/nomovtopush.ll [new file with mode: 0644]