[llvm] [SPIRV][Matrix] Change Matrix Shader legalization to largest common divisor (PR #207768)

via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 21 08:48:56 PDT 2026


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff origin/main HEAD --extensions cpp -- llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp --diff_from_common_commit
``````````

:warning:
The reproduction instructions above might return results for more than one PR
in a stack if you are using a stacked PR workflow. You can limit the results by
changing `origin/main` to the base branch/commit you want to compare against.
:warning:

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp b/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
index 58a6ec18f..ef61f7993 100644
--- a/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
@@ -811,11 +811,9 @@ static bool allUsesAreShuffleScatter(MachineRegisterInfo &MRI,
 }
 
 // Splits SrcReg into NumChunks separate ChunkTy-typed registers.
-static SmallVector<Register> unmergeIntoChunks(MachineIRBuilder &MIRBuilder,
-                                               MachineRegisterInfo &MRI,
-                                               Register SrcReg,
-                                               unsigned NumChunks,
-                                               LLT ChunkTy) {
+static SmallVector<Register>
+unmergeIntoChunks(MachineIRBuilder &MIRBuilder, MachineRegisterInfo &MRI,
+                  Register SrcReg, unsigned NumChunks, LLT ChunkTy) {
   assert(NumChunks >= 2 && "ShuffleChunkable should have handled this case");
   SmallVector<Register> Regs;
   for (unsigned I = 0; I < NumChunks; ++I)
@@ -902,8 +900,8 @@ static bool legalizeShuffleVector(LegalizerHelper &Helper, MachineInstr &MI) {
 
   const SPIRVSubtarget &ST = MI.getMF()->getSubtarget<SPIRVSubtarget>();
   unsigned MaxVectorSize = ST.isShader() ? 4 : 16;
-  unsigned VectorSplitWidth = getVectorSplitWidth(
-      DstTy.getNumElements(), MaxVectorSize, ST.isShader());
+  unsigned VectorSplitWidth =
+      getVectorSplitWidth(DstTy.getNumElements(), MaxVectorSize, ST.isShader());
   LLT ChunkTy = LLT::fixed_vector(VectorSplitWidth, EltTy);
   unsigned NumSrcChunks = SrcTy.getNumElements() / VectorSplitWidth;
   unsigned NumDstChunks = DstTy.getNumElements() / VectorSplitWidth;

``````````

</details>


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


More information about the llvm-commits mailing list