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

Mirko Brkusanin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 26 06:11:04 PDT 2019


mbrkusanin updated this revision to Diff 206634.
mbrkusanin added a comment.

Marked all instructions that define part of DSPControl register with TSFlag named defsDSPCtrl. This helps us avoid running unnecessary code on instructions that don't need it.

While we could add something similar for RDDSP and WRDSP instructions to make sure all implicit operands are added (which appears that it needs to be done in common CodeGen not Mips) before dead flag are set, it would still not help. This is because other instructions that use DSPControl are not glued to RDDSP and/or WRDSP. So we would still need to check for those instructions some other way which would not be any more efficient then current solution.


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.206634.patch
Type: text/x-patch
Size: 42877 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190626/2cea1b48/attachment.bin>


More information about the llvm-commits mailing list