[PATCH] D101525: RegAlloc: do not consider liveins to EH-pad successors as liveout.

Tim Northover via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 5 05:55:43 PDT 2021


t.p.northover added inline comments.


================
Comment at: llvm/lib/CodeGen/RegAllocFast.cpp:1455
+           LI.PhysReg == TLI->getExceptionSelectorRegister(PersonalityFn)))
+        continue;
       setPhysRegState(LI.PhysReg, regPreAssigned);
----------------
efriedma wrote:
> Calling getExceptionPointerRegister() directly from fast regalloc seems hacky.  We don't want to copy-paste this code everywhere that cares about physical register live-outs.
I could add a `MachineBasicBlock::liveouts` that does the iteration. Simplest would probably be to return a `SmallSet` because of the potential issue with duplicates, but that doesn't quite fit with the liveins iterator-based interface. Otherwise it's probably an iterator adapter containing that `SmallSet`.


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

https://reviews.llvm.org/D101525



More information about the llvm-commits mailing list