summaryrefslogtreecommitdiff
path: root/flang/include
diff options
context:
space:
mode:
authorSlava Zakharin <szakharin@nvidia.com>2023-05-01 09:06:02 -0700
committerSlava Zakharin <szakharin@nvidia.com>2023-05-01 09:53:14 -0700
commit57e38bc6c8e2712aedf3dbef98265d3320c4906d (patch)
tree44ff9ed3669849224763278d5e3f12ccebd2dd21 /flang/include
parent6d667d4b261e81f325756fdfd5bb43b3b3d2451d (diff)
downloadllvm-57e38bc6c8e2712aedf3dbef98265d3320c4906d.tar.gz
[flang][hlfir] Fixed lowering for optional dummy.
We have to keep it as a box, since taking box_addr of the optional box may be invalid. Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D149505
Diffstat (limited to 'flang/include')
-rw-r--r--flang/include/flang/Optimizer/Builder/HLFIRTools.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/flang/include/flang/Optimizer/Builder/HLFIRTools.h b/flang/include/flang/Optimizer/Builder/HLFIRTools.h
index 8f4eb713ae5d..5d64903eeb87 100644
--- a/flang/include/flang/Optimizer/Builder/HLFIRTools.h
+++ b/flang/include/flang/Optimizer/Builder/HLFIRTools.h
@@ -181,6 +181,11 @@ public:
return base.getDefiningOp<fir::FortranVariableOpInterface>();
}
+ bool isOptional() const {
+ auto varIface = getIfVariableInterface();
+ return varIface ? varIface.isOptional() : false;
+ }
+
// Get the entity as an mlir SSA value containing all the shape, type
// parameters and dynamic shape information.
mlir::Value getBase() const { return *this; }