[PATCH] D99284: [RegAllocFast] properly handle STATEPOINT instruction.

Denis Antrushin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 1 08:09:29 PDT 2021


dantrushin marked 2 inline comments as done.
dantrushin added inline comments.


================
Comment at: llvm/lib/CodeGen/RegAllocFast.cpp:1279
           MCPhysReg PhysReg = LR.PhysReg;
+          if (AssignedTiedDefs.count(PhysReg))
+            continue;
----------------
arsenm wrote:
> Checking for exact register matches makes me nervous because of register aliases / subregisters. What if you had something like
> 
> FOO tied-def $reg0_reg1, tied-use $reg0_reg1, mask-clobber(reg1)?
> 
> What is the correct behavior here and does it matter? Should it be a verifier error?
My understanding is that RegMask containts all registers and subregisters.
I'm not so sure about aliases.
As for verifier, it was recently enhanced to better track tied registers. There is also in-progress review D97054 which tries to enhance it further...


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D99284/new/

https://reviews.llvm.org/D99284



More information about the llvm-commits mailing list