Finish AArch64 clean call inlining optimization
Created by: fhahn
#2498 adds initial clean call inlining for AArch64, but there are a couple of FIXMEs that still need to be addressed in core/arch/aarch64/clean_call_opt.c
I am splitting this off #1621 (closed) to make it easier to keep track of the remaining FIXMEs:
-
Analyze arithmetic flags usage in analyze_callee_saved_regs
-
Save & restore arithmetic flags in insert_inline_reg_save/restore
-
implement analyze_clean_call_aflags
-
implement check_callee_instr_level2
. -
implement re-writing of access to SP and X29 when inlining in check_callee_ilist_inline
.
Most of those FIXMEs are quite self-contained and could be a good starting point for people interested in contributing to the AArch64 backend. I am happy to provide help & guidance, if anyone is interested in picking up FIXMEs from the list.