support runtime-sized allocas
add a final return if necessary