@@ -558,7 +558,7 @@ struct LoadOpToBlockIOConversion
558558 unsigned elemsPerLanePerDPASInst =
559559 product<unsigned >(elemsPerDPASInst) / threadsPerWarp;
560560 LLVMTypeConverter *typeConverter = getTypeConverter ();
561- Type unpackedDPASOperandType = LLVM::getFixedVectorType (
561+ Type unpackedDPASOperandType = LLVM::getVectorType (
562562 typeConverter->convertType (eltTy), elemsPerLanePerDPASInst);
563563
564564 // By default, use the unpacked type for the 2D load result type.
@@ -605,8 +605,8 @@ struct LoadOpToBlockIOConversion
605605 }
606606 }
607607
608- Type packedDPASOperandType = LLVM::getFixedVectorType (
609- loadResultElemType, packedElemsPerLanePerDPASInst);
608+ Type packedDPASOperandType =
609+ LLVM::getVectorType ( loadResultElemType, packedElemsPerLanePerDPASInst);
610610
611611 // Outer dim: Dim M or N. Inner dim: Dim K.
612612 // Round the warp id fit into the tensor shape.
@@ -772,7 +772,7 @@ struct LoadOpToBlockIOConversion
772772 numOperandsOuterDimPerLoad *
773773 numOperandsInnerDimPerLoad;
774774 Type load2DGenXType =
775- LLVM::getFixedVectorType (loadResultElemType, numValuesPerLoad);
775+ LLVM::getVectorType (loadResultElemType, numValuesPerLoad);
776776
777777 // The stride for the replicates.
778778 unsigned repOuterStride = warpShape[dimOuter] * outerDimWarpNum;
@@ -1073,8 +1073,8 @@ struct LoadOpConversion
10731073 SmallVector<unsigned > elemsPerInstr = dpasLayout.getDPASInstShapeC ();
10741074 int64_t elemsPerLane = product<unsigned >(elemsPerInstr) / threadsPerWarp;
10751075 Type load2DGenXType =
1076- LLVM::getFixedVectorType (IntegerType::get (ctx, elemSizeInBits),
1077- elemsPerLane); // make it opaque type.
1076+ LLVM::getVectorType (IntegerType::get (ctx, elemSizeInBits),
1077+ elemsPerLane); // make it opaque type.
10781078
10791079 auto [base, baseWidth, baseHeight, rowStride, colStride, offsetBaseX,
10801080 offsetBaseY] =
@@ -1148,8 +1148,8 @@ struct LoadOpConversion
11481148 return failure ();
11491149 }
11501150
1151- Value ret = b. bitcast (
1152- load2dOp, LLVM::getFixedVectorType (eltTy, elemsPerLane));
1151+ Value ret =
1152+ b. bitcast ( load2dOp, LLVM::getVectorType (eltTy, elemsPerLane));
11531153
11541154 for (size_t i = 0 ; i < elemsPerLane; i++) {
11551155 Value loaded = b.extract_element (eltTy, ret, b.i32_val (i));
@@ -1181,7 +1181,7 @@ struct LoadOpConversion
11811181 unsigned elemsPerLanePerDPASInst =
11821182 product<unsigned >(elemsPerDPASInst) / threadsPerWarp;
11831183 LLVMTypeConverter *typeConverter = getTypeConverter ();
1184- Type unpackedDPASOperandType = LLVM::getFixedVectorType (
1184+ Type unpackedDPASOperandType = LLVM::getVectorType (
11851185 typeConverter->convertType (eltTy), elemsPerLanePerDPASInst);
11861186
11871187 // By default, use the unpacked type for the 2D load result type.
@@ -1213,8 +1213,8 @@ struct LoadOpConversion
12131213 usePackedType = true ;
12141214 }
12151215
1216- Type packedDPASOperandType = LLVM::getFixedVectorType (
1217- loadResultElemType, packedElemsPerLanePerDPASInst);
1216+ Type packedDPASOperandType =
1217+ LLVM::getVectorType ( loadResultElemType, packedElemsPerLanePerDPASInst);
12181218
12191219 // Outer dim: Dim M or N. Inner dim: Dim K.
12201220 auto repCluster = dpasLayout.getRepCluster ();
@@ -1431,7 +1431,7 @@ struct LoadOpConversion
14311431 numOperandsOuterDimPerLoad *
14321432 numOperandsInnerDimPerLoad;
14331433 Type load2DGenXType =
1434- LLVM::getFixedVectorType (loadResultElemType, numValuesPerLoad);
1434+ LLVM::getVectorType (loadResultElemType, numValuesPerLoad);
14351435
14361436 // The stride for the replicates.
14371437 unsigned repOuterStride = warpShape[dimOuter] * outerDimWarpNum;
@@ -1917,8 +1917,8 @@ struct LoadOpConversion
19171917 } else {
19181918 curr = ret;
19191919 }
1920- curr = b.bitcast (curr, LLVM::getFixedVectorType (
1921- valueElemTy, width / valueElemNBits));
1920+ curr = b.bitcast (
1921+ curr, LLVM::getVectorType ( valueElemTy, width / valueElemNBits));
19221922 rets.push_back (curr);
19231923 }
19241924 int tmp = width / valueElemNBits;
@@ -1994,8 +1994,8 @@ struct StoreOpConversion
19941994
19951995 int64_t elemsPerLane = product<unsigned >(elemsPerInstr) / threadsPerWarp;
19961996 Type store2DGenXType =
1997- LLVM::getFixedVectorType (IntegerType::get (ctx, elemSizeInBits),
1998- elemsPerLane); // make it opaque type.
1997+ LLVM::getVectorType (IntegerType::get (ctx, elemSizeInBits),
1998+ elemsPerLane); // make it opaque type.
19991999
20002000 Value blockPtr = adaptor.getPtr ();
20012001 auto [base, width, height, rowStride, colStride, offsetBaseX, offsetBaseY] =
@@ -2051,8 +2051,8 @@ struct StoreOpConversion
20512051 b.add (warpId1Offset, b.i32_val (n * replicaStride[1 ] +
20522052 repN * elemsPerInstr[1 ]));
20532053 Value storeVal = rewriter.create <LLVM::UndefOp>(
2054- loc, LLVM::getFixedVectorType (typeConverter->convertType (eltTy),
2055- elemsPerLane));
2054+ loc, LLVM::getVectorType (typeConverter->convertType (eltTy),
2055+ elemsPerLane));
20562056 for (size_t i = 0 ; i < elemsPerLane; ++i) {
20572057 storeVal =
20582058 b.insert_element (storeVal, vals[valOffset], b.i32_val (i));
0 commit comments