mirror of
https://github.com/danog/ir.git
synced 2024-12-02 09:38:29 +01:00
AArch64: Make x18 register allocatable on Linux
This commit is contained in:
parent
dd77b6b71a
commit
a746ceb650
12
ir_aarch64.h
12
ir_aarch64.h
@ -104,10 +104,16 @@ enum _ir_reg {
|
||||
IR_REG_X31
|
||||
#define IR_REG_FRAME_POINTER \
|
||||
IR_REG_X29
|
||||
|
||||
#if defined(__linux__)
|
||||
#define IR_REGSET_FIXED \
|
||||
( IR_REGSET(IR_REG_INT_TMP) \
|
||||
| IR_REGSET(IR_REG_X18) /* platform specific register */ \
|
||||
| IR_REGSET_INTERVAL(IR_REG_X29, IR_REG_X31))
|
||||
(IR_REGSET(IR_REG_INT_TMP) | IR_REGSET_INTERVAL(IR_REG_X29, IR_REG_X31))
|
||||
#else
|
||||
#define IR_REGSET_FIXED \
|
||||
(IR_REGSET(IR_REG_INT_TMP) | IR_REGSET_INTERVAL(IR_REG_X29, IR_REG_X31) \
|
||||
| IR_REGSET(IR_REG_X18)) /* Other platforms reserve x18 register */
|
||||
#endif
|
||||
|
||||
#define IR_REGSET_GP \
|
||||
IR_REGSET_DIFFERENCE(IR_REGSET_INTERVAL(IR_REG_GP_FIRST, IR_REG_GP_LAST), IR_REGSET_FIXED)
|
||||
#define IR_REGSET_FP \
|
||||
|
Loading…
Reference in New Issue
Block a user