[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