[PATCH] D113123: [TwoAddressInstruction] Fix handling of operands tied to early-clobbers

Jay Foad via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 9 03:15:59 PST 2021


foad added a comment.

In D113123#3116272 <https://reviews.llvm.org/D113123#3116272>, @foad wrote:

> In D113123#3115810 <https://reviews.llvm.org/D113123#3115810>, @MatzeB wrote:
>
>> I can't shake the feeling that we would be better of having the `convertToThreeAddress` callback fix the liveness information like it is doing with `LV`, rather than guessing around after the fact with `repairIntervalsInRange`... Not sure what the original intention here was and if its fair to ask for that big refactoring now...
>
> I agree. I have fixed a few problems that I encountered in repairIntervalsInRange, but I am not sure if it will ever be 100% reliable.

Actually it is used more than I thought:

- in MachineBasicBlock::SplitCriticalEdge
- in PPCTLSDynamicCall::processBlock
- after TargetInstrInfo::convertToThreeAddress
- after TargetInstrInfo::unfoldMemoryOperand
- in TwoAddressInstructionPass::eliminateRegSequence


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D113123



More information about the llvm-commits mailing list