[PATCH] D63816: [ARM] WLS/LE Code Generation

Sam Parker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 28 05:22:44 PDT 2019


samparker marked 2 inline comments as done.
samparker added inline comments.


================
Comment at: lib/Target/ARM/ARMLowOverheadLoops.cpp:144
+        Pred = MBB;
+        Start = SearchForStart(MBB);
+      }
----------------
SjoerdMeijer wrote:
> As soon as we found one, can we stop? Or, can we continue looking as a sanity check to see if we find more and bail with a diagnostic?
We carry on searching just in case there's multiple predecessors with multiple loop starts. I'll add a TODO here because I think having multiple LoopStarts is fine and we need to support it, but currently this pass is not setup for it.


================
Comment at: lib/Target/ARM/ARMLowOverheadLoops.cpp:320
+    Start = ExpandLoopStart(ML, Start);
+    RemoveDeadBranch(Start);
+    End = ExpandLoopEnd(ML, Dec, End);
----------------
dmgreen wrote:
> These is something called ARMBaseInstrInfo::analyzeBranch which can help optimise away these unconditional fallthroughs too, if it can be made to work with loloop instructions.
I'll add a TODO


Repository:
  rL LLVM

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

https://reviews.llvm.org/D63816





More information about the llvm-commits mailing list