← board

Port IR_ALLOCA to xtensa

Found 2026-09-24 (frankS) by the esp32s3 leg of tools/run_c_conformance_esp.sh: 00207.c (a VLA) is unsupported node in IR codegen: alloca.

Measured

Why it was not done with the finding

The windowed backend's constant-sp model (see XtSpillDepth, XtensaLoadArgRegsWindowed, XTENSA_WIN_* reserves in defs.inc) means an alloca is not "sub sp; relocate": every sp-relative slot the body has already computed an offset for moves with it, and the base save area below sp must move too (movsp). That wants a design pass, not a same-session port.

Condition that retires this

00207.c PASS on tools/run_c_conformance_esp.sh --chip esp32s3, and a hosted call0 row against x86-64 in test-xtensa.

Log