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

Sam Parker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 28 02:37:43 PST 2020


samparker marked an inline comment as done.
samparker added inline comments.


================
Comment at: llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp:820
+  for (auto I = MachineBasicBlock::iterator(MI), E = MBB->end(); I != E; ++I) {
+    if (I->getOpcode() == ARM::t2LoopEnd) {
+      Ignore.insert(&*I);
----------------
SjoerdMeijer wrote:
> Do we need to start looking again for `t2LoopEnd`? Is that not saved to `End`, do we have access to that?
We still need this because t2LoopEnd isn't actually the last instruction, there's almost certainly an unconditional branch as the terminator, so this code was originally not doing what is was supposed to! Now that we're correctly tracking implicit-defs, RDA will pick up that !isSafeToDefRegAt because t2LoopEnd has an implicit CPSR def and we definitely want to ignore it.


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

https://reviews.llvm.org/D75185





More information about the llvm-commits mailing list