[llvm] [ProfCheck][Matrix] Propagate profile information for selects (PR #181248)

Aiden Grossman via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 17 15:48:34 PST 2026


================
@@ -2459,16 +2463,19 @@ class LowerMatrixIntrinsics {
     MatrixTy B = getMatrix(OpB, Shape, Builder);
 
     SmallVector<Value*> CondV;
+    Instruction *MDFrom = nullptr;
     if (isa<FixedVectorType>(Cond->getType())) {
       MatrixTy C = getMatrix(Cond, Shape, Builder);
       llvm::copy(C.vectors(), std::back_inserter(CondV));
     } else {
       CondV.resize(A.getNumVectors());
       llvm::fill(CondV, Cond);
+      if (!ProfcheckDisableMetadataFixes)
+        MDFrom = Inst;
     }
 
     for (auto [CV, AV, BV] : llvm::zip_equal(CondV, A.vectors(), B.vectors()))
-      Result.addVector(Builder.CreateSelect(CV, AV, BV));
+      Result.addVector(Builder.CreateSelect(CV, AV, BV, "", MDFrom));
----------------
boomanaiden154 wrote:

Added an assertion.

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


More information about the llvm-commits mailing list