summaryrefslogtreecommitdiff
path: root/flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp')
-rw-r--r--flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp b/flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp
index cf6b332028c7..fda12d1ea861 100644
--- a/flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp
+++ b/flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp
@@ -148,6 +148,17 @@ bool hlfir::isI1Type(mlir::Type type) {
return false;
}
+bool hlfir::isFortranLogicalArrayObject(mlir::Type type) {
+ if (isBoxAddressType(type))
+ return false;
+ if (auto arrayTy =
+ getFortranElementOrSequenceType(type).dyn_cast<fir::SequenceType>()) {
+ mlir::Type eleTy = arrayTy.getEleTy();
+ return mlir::isa<fir::LogicalType>(eleTy);
+ }
+ return false;
+}
+
bool hlfir::isMaskArgument(mlir::Type type) {
if (isBoxAddressType(type))
return false;