[PATCH] D62653: [Mips][DSP] Fix physregs incorrectly marked as dead.

Mirko Brkusanin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 27 09:06:49 PDT 2019


mbrkusanin updated this revision to Diff 206876.
mbrkusanin marked an inline comment as done.
mbrkusanin edited the summary of this revision.
mbrkusanin added a comment.

- Added a comment in: `removeOperandFromDeadImplRegs()`
- Removed `MO.setIsDead()` from `markOperandInDeadImplRegs()` and renamed to `checkOperandForDeadImplRegs()`.
- Added a comment in: `checkOperandForDeadImplRegs()`.
- Decided to remove the change from `addDSPCtrlRegOperands()` which marked RDDSP operands as //implicit undef//. Machine verifier would fail if only RDDSP was used without some other instruction previously defining a register. We could handle these Undef flags the same way we handle //dead// flags for other instructions (when we remove //dead// from previous we can also remove //undef// from current), but I don't think we need to touch these flags.




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

https://reviews.llvm.org/D62653

Files:
  lib/CodeGen/LiveVariables.cpp
  lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
  lib/Target/Mips/MicroMipsDSPInstrInfo.td
  lib/Target/Mips/MipsDSPInstrInfo.td
  lib/Target/Mips/MipsInstrFormats.td
  lib/Target/Mips/MipsInstrInfo.cpp
  lib/Target/Mips/MipsInstrInfo.h
  lib/Target/Mips/MipsInstrInfo.td
  lib/Target/Mips/MipsRegisterInfo.cpp
  lib/Target/Mips/MipsRegisterInfo.h
  lib/Target/Mips/MipsSEISelDAGToDAG.cpp
  lib/Target/Mips/MipsSEISelDAGToDAG.h
  test/CodeGen/Mips/dsp-implicit-dead.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D62653.206876.patch
Type: text/x-patch
Size: 43293 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190627/e2045132/attachment.bin>


More information about the llvm-commits mailing list