diff options
author | Vladimir N. Makarov <vmakarov@redhat.com> | 2023-09-28 09:41:18 -0400 |
---|---|---|
committer | Vladimir N. Makarov <vmakarov@redhat.com> | 2023-09-28 09:42:02 -0400 |
commit | 0c8ecbcd3cf7d7187d2017ad02b663a57123b417 (patch) | |
tree | 82e13c022794ade1ab5432c5bf93dec6d3001600 /gcc/lra.cc | |
parent | f194c684a28a5d449bd034a2c604d04ba465e4fe (diff) | |
download | gcc-0c8ecbcd3cf7d7187d2017ad02b663a57123b417.zip gcc-0c8ecbcd3cf7d7187d2017ad02b663a57123b417.tar.gz gcc-0c8ecbcd3cf7d7187d2017ad02b663a57123b417.tar.bz2 |
[RA]: Add flag for checking IRA in progress
RISCV target developers need a flag to prevent creating
insns in IRA which can not be split after RA as they will need a
temporary reg. The patch introduces such flag.
gcc/ChangeLog:
* rtl.h (lra_in_progress): Change type to bool.
(ira_in_progress): Add new extern.
* ira.cc (ira_in_progress): New global.
(pass_ira::execute): Set up ira_in_progress.
* lra.cc: (lra_in_progress): Change type to bool and initialize.
(lra): Use bool values for lra_in_progress.
* lra-eliminations.cc (init_elim_table): Ditto.
Diffstat (limited to 'gcc/lra.cc')
-rw-r--r-- | gcc/lra.cc | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -2262,8 +2262,8 @@ update_inc_notes (void) } } -/* Set to 1 while in lra. */ -int lra_in_progress; +/* Set to true while in LRA. */ +bool lra_in_progress = false; /* Start of pseudo regnos before the LRA. */ int lra_new_regno_start; @@ -2360,7 +2360,7 @@ lra (FILE *f) if (flag_checking) check_rtl (false); - lra_in_progress = 1; + lra_in_progress = true; lra_live_range_iter = lra_coalesce_iter = lra_constraint_iter = 0; lra_assignment_iter = lra_assignment_iter_after_spill = 0; @@ -2552,7 +2552,7 @@ lra (FILE *f) ira_restore_scratches (lra_dump_file); lra_eliminate (true, false); lra_final_code_change (); - lra_in_progress = 0; + lra_in_progress = false; if (live_p) lra_clear_live_ranges (); lra_live_ranges_finish (); |