Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
flang/lib/Lower/ConvertCall.cpp | ||
---|---|---|
1313–1314 | Same as for SUM, I think it is probably best to dereference allocatable/pointers here to save complexity in MATAMUL. It would be great if we could somehow deduce and do that automatically based on some knowledge about the arguments. I think it is doable for all arguments that are not LowerIntrinsicArgAs::AsInquired and for which handleDynamicOptional is false. | |
flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp | ||
574 | I have a feeling that this builder and the SUM builder are not very specific to the intrinsics and that the transformational operation hlfir.expr result type could be computed in lowering regardless of the intrinsic given stmtResultType, and that the default builder could be used. |
Thanks for reviewing this. Changes are:
- Share argument dereferencing with hlfir.sum
- Share result type calculation with hlfir.sum
Same as for SUM, I think it is probably best to dereference allocatable/pointers here to save complexity in MATAMUL.
It would be great if we could somehow deduce and do that automatically based on some knowledge about the arguments. I think it is doable for all arguments that are not LowerIntrinsicArgAs::AsInquired and for which handleDynamicOptional is false.
loadTrivialScalar should be callable for all arguments that are LowerIntrinsicArgAs::AsValue and for which handleDynamicOptional is false.