[PATCH] D158291: [PoC][WIP] Add an AArch64 specific pass for loop idiom recognition

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 18 11:35:32 PDT 2023


craig.topper added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64LoopIdiomRecognize.cpp:355
+
+  // Split block at the original callsite, where the EndBlock continues from
+  // where the original call ended.
----------------
mention of "call" and "callsite" here. there was no call involved in the original code.


================
Comment at: llvm/lib/Target/AArch64/AArch64LoopIdiomRecognize.cpp:377
+
+  DTU.applyUpdates({{DominatorTree::Insert, Preheader, MinItCheckBlock},
+                    {DominatorTree::Delete, Preheader, EndBlock}});
----------------
Why do we only update DT for this block and not the others?


================
Comment at: llvm/lib/Target/AArch64/AArch64LoopIdiomRecognize.cpp:567
+      Builder.CreatePHI(ResType, 2, "mismatch_start_index");
+  StartIndexPhi->addIncoming(Start, MemCheckBlock);
+  StartIndexPhi->addIncoming(Start, MinItCheckBlock);
----------------
Why do we need a phi if the incoming values are the same?


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

https://reviews.llvm.org/D158291



More information about the llvm-commits mailing list