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
