diff options
Diffstat (limited to 'flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp')
-rw-r--r-- | flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp | 11 |
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; |