- test both 32 and 64 bit version
- probe the tail in dynamic-alloca
- generate more concise code
Rework and improve the patch:
- more documentation
- more assert
- slight update of the way static alloca are probed, leads to slightly smaller code
- completely rework the way dynamic alloca are probed, which leads to smaller and cleaner assembly. As a side effect it also probes the tail.
This can't be MOV64rr for 32-bit. Can we use TargetOpcode::COPY?
use Register instead of unsigned.
This shouldn't be MOV64rr if the stack pointer is 32 bits. Can we just use TargetOpcode::COPY here?