aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorValentin Clement <clementval@gmail.com>2022-10-27 20:56:39 +0200
committerValentin Clement <clementval@gmail.com>2022-10-27 20:57:09 +0200
commitea1e767a060ca2c9deb0326f20ccc5291100e530 (patch)
tree0ee13cd41829c55af8d812c1090d5d0f909f0036 /flang/lib/Frontend/CompilerInvocation.cpp
parent06fcd149d176e87188801e77433c731013b32d74 (diff)
downloadllvm-ea1e767a060ca2c9deb0326f20ccc5291100e530.zip
llvm-ea1e767a060ca2c9deb0326f20ccc5291100e530.tar.gz
llvm-ea1e767a060ca2c9deb0326f20ccc5291100e530.tar.bz2
[flang] Carry dynamic type when emboxing polymorphic pointer
In order to be passed as passed-object in the dynamic dispatch, the polymorphic pointer entity are emboxed. In this process, the dynamic type must be preserve and pass to fir.embox as the tdesc operand. This patch introduce a new ExtendedValue that allow to carry over the dynamic type when the value is unboxed. Depends on D136820 Reviewed By: PeteSteinfeld Differential Revision: https://reviews.llvm.org/D136824
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r--flang/lib/Frontend/CompilerInvocation.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/flang/lib/Frontend/CompilerInvocation.cpp b/flang/lib/Frontend/CompilerInvocation.cpp
index 761300b..e79ca8d 100644
--- a/flang/lib/Frontend/CompilerInvocation.cpp
+++ b/flang/lib/Frontend/CompilerInvocation.cpp
@@ -869,4 +869,5 @@ void CompilerInvocation::setLoweringOptions() {
// Lower TRANSPOSE as a runtime call under -O0.
loweringOpts.setOptimizeTranspose(codegenOpts.OptimizationLevel > 0);
+ loweringOpts.setPolymorphicTypeImpl(true);
}