new register allocator and HARD_REGNO_CALL_PART_CLOBBERED

Daniel Berlin dberlin@dberlin.org
Sun May 11 15:18:00 GMT 2003


>
> That patch did not work because it was never executed in my testcase.

It might need to be moved, i chose the earliest place that seemed to 
make sense, but I might have accidently put it before we initialize the 
crosses_call flag.

> I have a patch that works for me and should probably work on all
> targets that have HARD_REGNO_CALL_PART_CLOBBERED defined. I have tested
> this on the c4x. I still think the HARD_REGNO_CALL_PART_CLOBBERED 
> should
> be used in the new register allocation pass. But I know this is very 
> very
> difficult.
It's not difficult, it's just exactly the kind of extra-special port 
specific stuff we don't want new-regalloc to be directly handling if it 
can avoid it.
If new-regalloc has to directly handle every single constraint of every 
single architecture, it will become a bloated morass of special cases.
--Dan



More information about the Gcc mailing list