This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

reload_in_progress || reload_completed


Hi!

It seems most ports use a construct in many places where
if (reload_in_progress || reload_completed)
	rtx = something;
else
	rtx = gen_reg_rtx(mode);

but gen_reg_rtx is not valid after life_analysis already, so there is a
window where those two variables are not yet set, but the code will attempt
to get a new pseudo.
(Particularly I have a problem on sparc64 where there is a movdi generated
from within regclass' scan_one_insn).
Is there some easy way how to detect that window and avoid getting new
pseudos at that time already? Or should we introduce some new variable like
reload_in_progress, reload_completed, cse_not_expected etc., which would
mean it is not possible to generate new pseudos?

Cheers,
    Jakub
___________________________________________________________________
Jakub Jelinek | jj@sunsite.mff.cuni.cz | http://sunsite.mff.cuni.cz
Administrator of SunSITE Czech Republic, MFF, Charles University
___________________________________________________________________
Ultralinux - first 64bit OS to take full power of the UltraSparc
Linux version 2.1.127 on a sparc64 machine (498.80 BogoMips).
___________________________________________________________________


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]