xcore emitEpilogue() losing "%R0<imp-use>"

Robert Lytton robert at xmos.com
Tue Jul 16 11:30:10 PDT 2013


Hi Jakob,

The emitEpilogue now produces:
        RETSP_u6 2, %SP<imp-def>, %SP<imp-use>, %SP<imp-def>, %SP<imp-use>, %R0<imp-use>

I only need to add any additional variadic operands, hence the use of:
        for (unsigned i = 3, e = MBBI->getNumOperands(); i < e; ++i)

Is there a better way to do this?

robert

________________________________________
From: Jakob Stoklund Olesen [stoklund at 2pi.dk]
Sent: 16 July 2013 19:07
To: Robert Lytton
Cc: llvm-commits at cs.uiuc.edu
Subject: Re: xcore emitEpilogue() losing "%R0<imp-use>"

On Jul 16, 2013, at 10:58 AM, Robert Lytton <robert at xmos.com> wrote:

> Hi Richard
>
> Here is a test & fix fora bug in the xcore emitEpilogue() that meant the return register was being lost viz:
>     RETSP_u6 2, %SP<imp-def>, %SP<imp-use>
> instead of:
>     RETSP_u6 2, %SP<imp-def>, %SP<imp-use>, %R0<imp-use>

Hi Robert,

Would BuildMI() ... .copyImplicitOps(...) work?

Thanks
/jakob





More information about the llvm-commits mailing list