zyma98 wrote:

Thanks again for the review. Here are the changes:

1. It’s possible to avoid copying `sp` into a scratch register. I’ve made the 
change, and it now saves an instruction for Thumb1.
2. We avoid requiring reserved space in the stack. For small frame sizes on 
Thumb1, we’ve added the instruction `mov r12, r3` to preserve `r3` for the 
overflow check computation if `r3` holds a function argument. For larger frame 
sizes, we still need to push `r2` into the stack and use it for overflow check 
computation, but we perform an extra check before pushing. Please refer to the 
test case `large_frame_args_live` for more details.
3. The compiler pass now checks that `r12` is not a live register when entering 
a function.
4. The help message for the new option has been revised to clearly state that 
the stack limit value must be 4-byte aligned.



https://github.com/llvm/llvm-project/pull/208076
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to