diff options
author | Valentin Clement <clementval@gmail.com> | 2022-10-27 20:56:39 +0200 |
---|---|---|
committer | Valentin Clement <clementval@gmail.com> | 2022-10-27 20:57:09 +0200 |
commit | ea1e767a060ca2c9deb0326f20ccc5291100e530 (patch) | |
tree | 0ee13cd41829c55af8d812c1090d5d0f909f0036 /flang/lib/Frontend/CompilerInvocation.cpp | |
parent | 06fcd149d176e87188801e77433c731013b32d74 (diff) | |
download | llvm-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.cpp | 1 |
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); } |