[llvm-branch-commits] [NFC][Matrix] Make CreateLoop take ConstantInt for Bound/Step (PR #181291)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu Feb 12 17:58:30 PST 2026


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-llvm-transforms

Author: Aiden Grossman (boomanaiden154)

<details>
<summary>Changes</summary>

These should always be constants (unless someday we add support for
scalable matrices and then we can revisit). Explicitly pass them as
ConstantInt so we can avoid needing to downcast in a future PR that will
calculate appropriate branch weights using these values.


---
Full diff: https://github.com/llvm/llvm-project/pull/181291.diff


2 Files Affected:

- (modified) llvm/include/llvm/Transforms/Utils/MatrixUtils.h (+4-3) 
- (modified) llvm/lib/Transforms/Utils/MatrixUtils.cpp (+5-5) 


``````````diff
diff --git a/llvm/include/llvm/Transforms/Utils/MatrixUtils.h b/llvm/include/llvm/Transforms/Utils/MatrixUtils.h
index ffad57002935e..9343f71d1243e 100644
--- a/llvm/include/llvm/Transforms/Utils/MatrixUtils.h
+++ b/llvm/include/llvm/Transforms/Utils/MatrixUtils.h
@@ -18,6 +18,7 @@
 namespace llvm {
 class DomTreeUpdater;
 class BasicBlock;
+class ConstantInt;
 class Value;
 class Loop;
 class LoopInfo;
@@ -80,9 +81,9 @@ struct TileInfo {
   /// Exit as exit block.  Adds the new loop blocks to \L and applies dominator
   /// tree updates to \p DTU.
   static BasicBlock *CreateLoop(BasicBlock *Preheader, BasicBlock *Exit,
-                                Value *Bound, Value *Step, StringRef Name,
-                                IRBuilderBase &B, DomTreeUpdater &DTU, Loop *L,
-                                LoopInfo &LI);
+                                ConstantInt *Bound, ConstantInt *Step,
+                                StringRef Name, IRBuilderBase &B,
+                                DomTreeUpdater &DTU, Loop *L, LoopInfo &LI);
 };
 } // namespace llvm
 
diff --git a/llvm/lib/Transforms/Utils/MatrixUtils.cpp b/llvm/lib/Transforms/Utils/MatrixUtils.cpp
index 7866d6434c115..a35003c3bc390 100644
--- a/llvm/lib/Transforms/Utils/MatrixUtils.cpp
+++ b/llvm/lib/Transforms/Utils/MatrixUtils.cpp
@@ -21,9 +21,9 @@
 using namespace llvm;
 
 BasicBlock *TileInfo::CreateLoop(BasicBlock *Preheader, BasicBlock *Exit,
-                                 Value *Bound, Value *Step, StringRef Name,
-                                 IRBuilderBase &B, DomTreeUpdater &DTU, Loop *L,
-                                 LoopInfo &LI) {
+                                 ConstantInt *Bound, ConstantInt *Step,
+                                 StringRef Name, IRBuilderBase &B,
+                                 DomTreeUpdater &DTU, Loop *L, LoopInfo &LI) {
   LLVMContext &Ctx = Preheader->getContext();
   BasicBlock *Header = BasicBlock::Create(
       Preheader->getContext(), Name + ".header", Preheader->getParent(), Exit);
@@ -35,8 +35,8 @@ BasicBlock *TileInfo::CreateLoop(BasicBlock *Preheader, BasicBlock *Exit,
   Type *I32Ty = Type::getInt64Ty(Ctx);
   BranchInst::Create(Body, Header);
   BranchInst::Create(Latch, Body);
-  PHINode *IV =
-      PHINode::Create(I32Ty, 2, Name + ".iv", Header->getTerminator()->getIterator());
+  PHINode *IV = PHINode::Create(I32Ty, 2, Name + ".iv",
+                                Header->getTerminator()->getIterator());
   IV->addIncoming(ConstantInt::get(I32Ty, 0), Preheader);
 
   B.SetInsertPoint(Latch);

``````````

</details>


https://github.com/llvm/llvm-project/pull/181291


More information about the llvm-branch-commits mailing list