[PATCH] D84737: [AArch64][SVE] Preserve full vector regs over EH edge.

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 28 02:14:13 PDT 2020


sdesmalen added a comment.

In D84737#2242900 <https://reviews.llvm.org/D84737#2242900>, @efriedma wrote:

> Does MIRParser also need to be modified?

You're right, that was missing. Thanks for pointing out!



================
Comment at: llvm/lib/CodeGen/RegAllocFast.cpp:1215
+      if (auto *RegMask = TRI->getCustomEHPadPreservedMask(*MBB.getParent()))
+        MRI->addPhysRegsUsedFromRegMask(RegMask);
+
----------------
efriedma wrote:
> This seems like a really weird location for this call; it's modifying function-global state in the middle of register allocation.
> 
> I'd prefer to do one of the following:
> 
> 1. Attach the register mask to the landingpad instruction itself.
> 2. Update the function-global state when we construct the landing pad instruction/node.
> This seems like a really weird location for this call; it's modifying function-global state in the middle of register allocation.
The same seems to happen in `allocateInstruction(MI)` (see line 989) for an instruction when one of the operands is a register mask.


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

https://reviews.llvm.org/D84737



More information about the llvm-commits mailing list