diff options
author | Slava Zakharin <szakharin@nvidia.com> | 2023-05-01 09:06:02 -0700 |
---|---|---|
committer | Slava Zakharin <szakharin@nvidia.com> | 2023-05-01 09:53:14 -0700 |
commit | 57e38bc6c8e2712aedf3dbef98265d3320c4906d (patch) | |
tree | 44ff9ed3669849224763278d5e3f12ccebd2dd21 /flang/include | |
parent | 6d667d4b261e81f325756fdfd5bb43b3b3d2451d (diff) | |
download | llvm-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.h | 5 |
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; } |