Ensures allocas are at the start of entry block.
Allocas were not created in the entry block. Now we force allocas to be
created in the entry block and they are the first instructions in this block.
In the Portable, they hold the shadow frame.
The LLVM code generator optimizes allocas in the entry block by placing them in
the static stack frame. This prevents from using a register as a frame pointer
to access them.
Hopefully, this might reduce code size since we use fewer instructions to
allocate/deallocate stack in prologue/epilogue.
1 file changed