diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2014-12-15 19:51:31 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2014-12-15 19:51:31 +0000 |
commit | 7b6e0c544a78f8ab4c5dc2c09b77266f870124e1 (patch) | |
tree | 750014302b6c2aa69719a56bb900622d8fc084ca /gcc/ira.h | |
parent | 2405e0ea00fea38ed86fade3d10fb728ba1ff0f6 (diff) | |
download | gcc-7b6e0c544a78f8ab4c5dc2c09b77266f870124e1.zip gcc-7b6e0c544a78f8ab4c5dc2c09b77266f870124e1.tar.gz gcc-7b6e0c544a78f8ab4c5dc2c09b77266f870124e1.tar.bz2 |
ira-int.h (ira_prohibited_class_mode_regs): Remove.
2014-12-15 Vladimir Makarov <vmakarov@redhat.com>
* ira-int.h (ira_prohibited_class_mode_regs): Remove.
(struct target_ira_int): Move x_ira_prohibited_class_mode_regs to
...
* ira.h (struct target_ira_int): ... here.
(ira_prohibited_class_mode_regs): Define.
* lra-constraints.c (process_alt_operands): Add one more condition
to refuse alternative when reload pseudo of given class can not
hold value of given mode.
From-SVN: r218760
Diffstat (limited to 'gcc/ira.h')
-rw-r--r-- | gcc/ira.h | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -110,6 +110,11 @@ struct target_ira /* Function specific hard registers can not be used for the register allocation. */ HARD_REG_SET x_ira_no_alloc_regs; + + /* Array whose values are hard regset of hard registers available for + the allocation of given register class whose HARD_REGNO_MODE_OK + values for given mode are zero. */ + HARD_REG_SET x_ira_prohibited_class_mode_regs[N_REG_CLASSES][NUM_MACHINE_MODES]; }; extern struct target_ira default_target_ira; @@ -155,6 +160,8 @@ extern struct target_ira *this_target_ira; (this_target_ira->x_ira_class_singleton) #define ira_no_alloc_regs \ (this_target_ira->x_ira_no_alloc_regs) +#define ira_prohibited_class_mode_regs \ + (this_target_ira->x_ira_prohibited_class_mode_regs) /* Major structure describing equivalence info for a pseudo. */ struct ira_reg_equiv_s |