PR8919 - LLVM incorrectly generates "_alloca" as the stack probing call. That

works only on MinGW32. On 64-bit, the function to call is "__chkstk".
Patch by KS Sreeram!

llvm-svn: 122934
This commit is contained in:
Bill Wendling 2011-01-06 00:50:34 +00:00
parent fae0dd1afa
commit a59afdaec5

View File

@ -566,6 +566,8 @@ void X86FrameInfo::emitPrologue(MachineFunction &MF) const {
const char *StackProbeSymbol =
STI.isTargetWindows() ? "_chkstk" : "_alloca";
if (Is64Bit && STI.isTargetCygMing())
StackProbeSymbol = "__chkstk";
unsigned CallOp = Is64Bit ? X86::CALL64pcrel32 : X86::CALLpcrel32;
if (!isEAXAlive) {
BuildMI(MBB, MBBI, DL, TII.get(X86::MOV32ri), X86::EAX)