[PATCH] D75185: [RDA] Track implicit-defs

Sjoerd Meijer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 27 05:30:49 PST 2020


SjoerdMeijer added inline comments.


================
Comment at: llvm/lib/CodeGen/ReachingDefAnalysis.cpp:105
+  for (auto &MO : MI->operands()) {
+    if (!MO.isReg() || !MO.getReg() || MO.isUse())
       continue;
----------------
I am thinking if it is time for a MO helper function that tests this, because I see a lot of the same/similar checks:

if (!MO.isReg() || !MO.isUse() || MO.getReg() != PhysReg)
if (!MO.isReg() || !MO.isUse() || MO.getReg() != PhysReg)
if (MO.isReg() && MO.isDef() && MO.getReg() == PhysReg)
if (MO.isReg() && MO.isDef() && MO.getReg() == PhysReg)
if (!MO.isReg() || MO.isUndef() || !MO.getReg())
if (MO.isReg() && MO.getReg() && Defs.count(MO.getReg()))
if (!MO.isReg() || MO.isUse() || MO.getReg() == 0)
if (!MO.isReg() || MO.getReg() == 0 || !MO.isKill())
if (MO.isReg() && MO.isDef() && MO.getReg() == PhysReg)

Perhaps a local static helper function(s) is easiest to increase readability?


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

https://reviews.llvm.org/D75185





More information about the llvm-commits mailing list