Part of #611. Difficulty: very high. Audit baseline: master 3950416e (2026-09-12).
Current evidence
The MSVC target foundation in tests/codegen_regressions.rs checks a tiny entry function. llvm/src/codegen/ir.rs builds function IR and relies on LLVM target lowering; there is no dedicated native MSVC large-frame/unwind regression in the audited suite. This is a validation gap, not proof that LLVM emits incorrect metadata.
Scope
Exercise large live local frames crossing several guard pages, nested non-leaf calls, register spills and supported alignment requirements on x64 and ARM64. Inspect the resulting stack-probe helper resolution and applicable .pdata/.xdata records, then validate stack walking with a native Windows harness. Diagnose and fix any missing codegen attributes or runtime inputs demonstrated by those tests.
Completion criteria
Tests keep frame contents live and check them after nested calls at multiple optimization levels. Link without MinGW helper libraries and run natively with bounded timeouts. A native stack walk or virtual-unwind probe can traverse generated non-leaf frames and recover expected callers. Do not increase stack reserve merely to hide missing probes. This does not add Wave exceptions or permit foreign exceptions to cross Wave frames. Compiler-process overflow #609 remains a separate bug.
Dependencies and boundaries
#498; #617, #613; separate from argument/return ABI tasks #615 and #616.
References: Windows x64 unwindability; Windows ARM64 ABI
Part of #611. Difficulty: very high. Audit baseline: master
3950416e(2026-09-12).Current evidence
The MSVC target foundation in tests/codegen_regressions.rs checks a tiny entry function. llvm/src/codegen/ir.rs builds function IR and relies on LLVM target lowering; there is no dedicated native MSVC large-frame/unwind regression in the audited suite. This is a validation gap, not proof that LLVM emits incorrect metadata.
Scope
Exercise large live local frames crossing several guard pages, nested non-leaf calls, register spills and supported alignment requirements on x64 and ARM64. Inspect the resulting stack-probe helper resolution and applicable .pdata/.xdata records, then validate stack walking with a native Windows harness. Diagnose and fix any missing codegen attributes or runtime inputs demonstrated by those tests.
Completion criteria
Tests keep frame contents live and check them after nested calls at multiple optimization levels. Link without MinGW helper libraries and run natively with bounded timeouts. A native stack walk or virtual-unwind probe can traverse generated non-leaf frames and recover expected callers. Do not increase stack reserve merely to hide missing probes. This does not add Wave exceptions or permit foreign exceptions to cross Wave frames. Compiler-process overflow #609 remains a separate bug.
Dependencies and boundaries
#498; #617, #613; separate from argument/return ABI tasks #615 and #616.
References: Windows x64 unwindability; Windows ARM64 ABI