On 12/02/13 16:44, Vladimir Makarov wrote:
First of all, it is a bad situation for code performance when IRA
decides that it can use frame pointer for allocation, and after that
LRA/reload decides that frame pointer can not be used and spills all
pseudos assigned to FP. The generated code will be much worse than
one generated if we decided not to use FP from the IRA start.
Yup. Actually, I think we had the same problem with the old
local/global/reload allocator as well.
I don't recall the specifics, but I think the problem was global thought
it could eliminate FP, but reload didn't and as a result code generation
suffered.
I don't recall ever auditing ports to see if they were vulnerable to
this class of problem. So there may be others that will might trigger
the assert.
2013-12-02 Vladimir Makarov <vmaka...@redhat.com>
* config/aarch64/aarch64.c (aarch64_frame_pointer_required): Check
LR_REGNUM.
(aarch64_can_eliminate): Don't check elimination source when
frame_pointer_requred is false.
s/frame_pointer_requred/frame_pointer_required in the ChangeLog entry.
jeff