[llvm] [Matrix] Propagate shape information through (f)abs insts (PR #141704)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 5 12:51:24 PDT 2025


================
@@ -1138,8 +1135,36 @@ class LowerMatrixIntrinsics {
       LowerColumnMajorStore(Inst);
       break;
     case Intrinsic::abs:
-    case Intrinsic::fabs:
-      return VisitUniformIntrinsic(cast<IntrinsicInst>(Inst));
+    case Intrinsic::fabs: {
+      IRBuilder<> Builder(Inst);
+
+      MatrixTy Result;
+
+      MatrixTy M = getMatrix(Inst->getOperand(0), Shape, Builder);
+
+      Builder.setFastMathFlags(getFastMathFlags(Inst));
+
+      for (auto &Vector : M.vectors()) {
+        switch (Inst->getIntrinsicID()) {
+        case Intrinsic::abs:
+          Result.addVector(Builder.CreateBinaryIntrinsic(Intrinsic::abs, Vector,
+                                                         Inst->getOperand(1)));
+          break;
----------------
fhahn wrote:

```suggestion
          continue;
```

might be clearer to have continue here

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


More information about the llvm-commits mailing list