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

Reply via email to