[llvm] [AMDGPU] expand-fp: unify scalarization (NFC) (PR #158588)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 15 03:45:59 PDT 2025


================
@@ -948,12 +927,21 @@ static void scalarize(Instruction *I, SmallVectorImpl<Instruction *> &Replace) {
   Value *Result = PoisonValue::get(VTy);
   for (unsigned Idx = 0; Idx < NumElements; ++Idx) {
     Value *Ext = Builder.CreateExtractElement(I->getOperand(0), Idx);
-    Value *Cast = Builder.CreateCast(cast<CastInst>(I)->getOpcode(), Ext,
-                                     I->getType()->getScalarType());
-    Result = Builder.CreateInsertElement(Result, Cast, Idx);
-    if (isa<Instruction>(Cast))
-      Replace.push_back(cast<Instruction>(Cast));
+    Value *Op;
+    if (isa<BinaryOperator>(I))
+      Op = Builder.CreateBinOp(
+          cast<BinaryOperator>(I)->getOpcode(), Ext,
----------------
arsenm wrote:

`dyn_cast` instead of `isa` + `cast`

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


More information about the llvm-commits mailing list