[llvm] r320503 - [MachineOperand][MIR] Add isRenamable to MachineOperand.

Mikael Holmén via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 18 22:29:14 PST 2018


On 02/16/2018 05:22 PM, gberry at codeaurora.org wrote:
> Hi Mikael,
> Yes, I believe you are correct.  This check is probably going to move into isRenamable() soon, but I think it should be changed to hasExtraDefRegAllocReq(IgnoreBundle).

Yes that's the quick fix I made locally to not be stopped. I think it 
would make sense to check things in the BUNDLE instruction as well 
though. E.g. if "sub" has hasExtraDefRegAllocReq = 1 then shouldn't we 
get an error for this case:

    BUNDLE renamable implicit-def $a1, implicit-def renamable $a0 {
      $a1 = sub undef $a1, undef $a1
      renamable $a0 = mv_nimm32 124

The individual "sub" instruction is correct, but then the implicit-def 
of $a1 in the BUNDLE is renamable which then sems wrong.

> If you'd like to go ahead and make this single fix to unblock yourself, please feel free.  I'm hoping to get to the larger changes today, but it might slip into early next week.

I noticed I had other troubles with MCP and the COPY source forwarding 
on my target so currently I'm leaning towards disabling setting physregs 
to renamable completely (i.e. using the new target hook you're working on).



More information about the llvm-commits mailing list