llvm-project/flang/lib/Lower
Valentin Clement 6e85b8807f
[flang] Add fir.dispatch code generation
fir.dispatch code generation uses the binding table stored in the
type descriptor. There is no runtime call involved. The binding table
is always build from the parent type so the index of a specific binding
is the same in the parent derived-type or in the extended type.

Follow-up patches will deal cases not present here such as allocatable
polymorphic entities or pointers.

Reviewed By: jeanPerier, PeteSteinfeld

Differential Revision: https://reviews.llvm.org/D136189
2022-10-19 09:41:47 +02:00
..
.clang-format
.clang-tidy [flang] Add clang-tidy check for braces around if 2021-06-16 09:13:53 +00:00
Allocatable.cpp [flang] Lower assumed length character allocatable and pointer arguments 2022-10-13 11:03:56 -07:00
Bridge.cpp [flang][NFC] Simplify mapSymbolAttributes in symbol lowering 2022-10-18 11:08:07 +02:00
CMakeLists.txt [mlir] (NFC) Clean up bazel and CMake target names 2022-06-13 16:24:15 +00:00
CallInterface.cpp [flang] Fix the trivial type passed as value with bind(C) 2022-10-17 23:27:17 +08:00
Coarray.cpp [flang][NFC] Move Todo.h from Lower to Optimizer 2022-06-10 08:51:05 +02:00
ComponentPath.cpp Don't use Optional::getValue (NFC) 2022-06-20 23:35:53 -07:00
ConvertExpr.cpp [flang] Add fir.dispatch code generation 2022-10-19 09:41:47 +02:00
ConvertType.cpp [flang] Keep current polymorphic implementation under a flag 2022-10-05 23:05:28 +02:00
ConvertVariable.cpp [flang][NFC] Simplify mapSymbolAttributes in symbol lowering 2022-10-18 11:08:07 +02:00
CustomIntrinsicCall.cpp [flang] Intrinsic RANDOM_SEED calls with dynamically absent/present arguments 2022-08-09 09:08:55 -07:00
DumpEvaluateExpr.cpp [flang] Simple array assignment lowering 2022-02-24 21:23:30 +01:00
HostAssociations.cpp [flang] Lower assumed length character allocatable and pointer arguments 2022-10-13 11:03:56 -07:00
IO.cpp [flang] Represent TARGET for globals with 'target' attribute. 2022-10-06 19:14:28 -07:00
IntrinsicCall.cpp [flang] Add cpowi function to runtime and use instead of pgmath 2022-10-11 12:34:58 +00:00
IterationSpace.cpp [flang] Use *X instead of X.getValue() (NFC) 2022-07-16 00:24:02 -07:00
Mangler.cpp [flang] Lower type-bound procedure call needing dynamic dispatch to fir.dispatch 2022-10-12 15:24:49 +02:00
OpenACC.cpp [mlir] Flip Async/GPU/MemRef/OpenACC/OpenMP/PDL dialects to prefixed 2022-09-30 16:55:30 -07:00
OpenMP.cpp [flang][OpenMP] Fix the use-associated bug in threadprivate directive lowering 2022-10-17 19:46:18 +08:00
PFTBuilder.cpp [flang] Skip creating AggregateStores for common block associated aggregates 2022-10-03 12:19:53 -07:00
Runtime.cpp [flang] Intrinsic RANDOM_SEED calls with dynamically absent/present arguments 2022-08-09 09:08:55 -07:00
SymbolMap.cpp [flang][OpenMP] Initial support the lowering of copyin clause 2022-06-24 15:33:09 +08:00
VectorSubscripts.cpp [flang][NFC] Unify todo messages 2022-06-20 15:44:20 +02:00