llvm IR如何命令alloca指令

How does llvm IR order alloca instruction

我注意到 llvm IR 尝试在函数的最开头分配空间,而不管在 C 源代码中声明函数内部变量的位置。我想知道这些 alloca 指令是如何排序的。我的猜测是第一个函数参数,然后是局部变量。有什么具体的规则可以参考吗?

无特定顺序。此外,不同的变量可能使用相同的栈槽。