@@ -214,10 +214,9 @@ genDotProd(FN func, mlir::Type resultType, fir::FirOpBuilder &builder,
214
214
assert (args.size () == 2 );
215
215
216
216
// Handle required vector arguments
217
- fir::BoxValue vecTmpA = builder.createBox (loc, args[0 ]);
218
- mlir::Value vectorA = fir::getBase (vecTmpA);
219
- fir::BoxValue vecTmpB = builder.createBox (loc, args[1 ]);
220
- mlir::Value vectorB = fir::getBase (vecTmpB);
217
+ mlir::Value vectorA = fir::getBase (args[0 ]);
218
+ mlir::Value vectorB = fir::getBase (args[1 ]);
219
+
221
220
222
221
auto eleTy = fir::dyn_cast_ptrOrBoxEleTy (vectorA.getType ())
223
222
.cast <fir::SequenceType>()
@@ -679,7 +678,7 @@ static constexpr IntrinsicHandler handlers[]{
679
678
{" dim" , &I::genDim},
680
679
{" dot_product" ,
681
680
&I::genDotProduct,
682
- {{{" vector_a" , asAddr }, {" vector_b" , asAddr }}},
681
+ {{{" vector_a" , asBox }, {" vector_b" , asBox }}},
683
682
/* isElemental=*/ false },
684
683
{" dprod" , &I::genDprod},
685
684
{" eoshift" ,
@@ -768,7 +767,7 @@ static constexpr IntrinsicHandler handlers[]{
768
767
/* isElemental=*/ false },
769
768
{" product" ,
770
769
&I::genProduct,
771
- {{{" array" , asAddr }, {" dim" , asValue}, {" mask" , asAddr }}},
770
+ {{{" array" , asBox }, {" dim" , asValue}, {" mask" , asBox }}},
772
771
/* isElemental=*/ false },
773
772
{" random_init" ,
774
773
&I::genRandomInit,
@@ -818,7 +817,7 @@ static constexpr IntrinsicHandler handlers[]{
818
817
/* isElemental=*/ false },
819
818
{" sum" ,
820
819
&I::genSum,
821
- {{{" array" , asAddr }, {" dim" , asValue}, {" mask" , asAddr }}},
820
+ {{{" array" , asBox }, {" dim" , asValue}, {" mask" , asBox }}},
822
821
/* isElemental=*/ false },
823
822
{" system_clock" ,
824
823
&I::genSystemClock,
0 commit comments