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 _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
