If inlining into an LLVM function, move allocas of constant size from
the callee's entry block to the new entry block, as this will fold into
the prologue/epilogue code during code generation.
We still allow inlining allocas even if we cannot do this
post-processing (i.e., when we are not inlining into an LLVM::FuncOp),
since this is an optimization (and thus not necessary for correctness).
Depends on D141682
nit: What about changing to
"Conservatively move only alloca operations that are part of the entry block and do not inspect nested regions, since they may execute conditionally or have other unknown semantics."
?