This work around brings thumb1 bootstrap back. Though I cannot
approve, I would like it in stage 3. A complete fix in thumb1 pattern
will be welcomed.

Thanks,
Joey

On Thu, Nov 20, 2014 at 7:54 PM, Tom de Vries <tom_devr...@mentor.com> wrote:
> Richard,
>
> This patch fixes PR63718, which currently breaks Thumb1 bootstrap.
>
> The problem is that in Thumb1 mode, we emit the epilogue in RTL, but the
> last insn - epilogue_insns - does not accurately model the corresponding
> insns
> emitted in the asm file. F.i., the asm file may contain an insn:
> ...
>   pop     {r0}
> ....
> while the corresponding RTL pattern looks like this:
> ...
> (jump_insn (unspec_volatile [
>             (return)
>          ] VUNSPEC_EPILOGUE))
> ...
>
> As a consequence, the epilogue may clobber registers without
> fuse-caller-save being able to analyze that.
>
> Adding the missing clobbers to epilogue_insns is not trivial, and probably
> not a good idea for stage3. The patch works around the problem by disabling
> fuse-caller-save in Thumb1 mode.
>
> Build and reg-tested on arm-none-eabi.
>
> OK for stage3?
>
> Thanks,
> - Tom

Reply via email to