Loading llvm/lib/Target/X86/X86FrameLowering.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -1261,7 +1261,7 @@ void X86FrameLowering::emitPrologue(MachineFunction &MF, if (Is64Bit) { // Handle the 64-bit Windows ABI case where we need to call __chkstk. // Function prologue is responsible for adjusting the stack pointer. int Alloc = isEAXAlive ? NumBytes - 8 : NumBytes; int64_t Alloc = isEAXAlive ? NumBytes - 8 : NumBytes; if (isUInt<32>(Alloc)) { BuildMI(MBB, MBBI, DL, TII.get(X86::MOV32ri), X86::EAX) .addImm(Alloc) Loading llvm/test/CodeGen/X86/win64-stackprobe-overflow.ll 0 → 100644 +14 −0 Original line number Diff line number Diff line ; RUN: llc < %s -mtriple=x86_64-windows-gnu | FileCheck %s define void @foo() unnamed_addr #0 { start: %b = alloca i64, align 8 %c = alloca [4294967295 x i8], align 1 ret void } attributes #0 = { nonlazybind uwtable "probe-stack"="probe_stack" "target-cpu"="x86-64" } ; CHECK-LABEL: foo: ; CHECK: movabsq $4294967304, %rax ; CHECK-NEXT: callq probe_stack Loading
llvm/lib/Target/X86/X86FrameLowering.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -1261,7 +1261,7 @@ void X86FrameLowering::emitPrologue(MachineFunction &MF, if (Is64Bit) { // Handle the 64-bit Windows ABI case where we need to call __chkstk. // Function prologue is responsible for adjusting the stack pointer. int Alloc = isEAXAlive ? NumBytes - 8 : NumBytes; int64_t Alloc = isEAXAlive ? NumBytes - 8 : NumBytes; if (isUInt<32>(Alloc)) { BuildMI(MBB, MBBI, DL, TII.get(X86::MOV32ri), X86::EAX) .addImm(Alloc) Loading
llvm/test/CodeGen/X86/win64-stackprobe-overflow.ll 0 → 100644 +14 −0 Original line number Diff line number Diff line ; RUN: llc < %s -mtriple=x86_64-windows-gnu | FileCheck %s define void @foo() unnamed_addr #0 { start: %b = alloca i64, align 8 %c = alloca [4294967295 x i8], align 1 ret void } attributes #0 = { nonlazybind uwtable "probe-stack"="probe_stack" "target-cpu"="x86-64" } ; CHECK-LABEL: foo: ; CHECK: movabsq $4294967304, %rax ; CHECK-NEXT: callq probe_stack