[PATCH] D86613: [ARM][LowOverheadLoops] Liveouts and reductions
Sjoerd Meijer via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 26 08:33:57 PDT 2020
SjoerdMeijer added a comment.
That's good amount of red/deletions!
Read this for the first time, and looks very reasonable. I have one question inline for now while I go over this again.
================
Comment at: llvm/include/llvm/CodeGen/ReachingDefAnalysis.h:208
+ void getGlobalReachingDefs(MachineInstr *MI, int PhysReg,
+ InstSet &Uses) const;
+
----------------
nit: `Uses` -> `Defs`?
================
Comment at: llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp:643
+ return !isVectorPredicated(Def) &&
+ Def->getOpcode() == ARM::MVE_VMOVimmi32 &&
+ Def->getOperand(1).getImm() == 0;
----------------
Is this the only instruction that could zero initialise that def?
================
Comment at: llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp:656
+ // - If it only consumes false lanes zero or constant 0 (vmov #0)
+ // - If it's predicated, it only matters that it's def register already has
+ // false lane zeros, so we can ignore its uses.
----------------
nit: it's -> its
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D86613/new/
https://reviews.llvm.org/D86613
More information about the llvm-commits
mailing list