llvm-project/flang/test
Jean Perier c099ca4e45 [flang][optimizer] support aggregate types inside tuple and record type
This patch allows:
 - fir.box type to be a member of tuple<> or fir.type<> types,
 - tuple<> type to be a member of tuple<> type.

When a fir.box types are nested in tuple<> or fir.type<>, it is translated
to the struct type of a Fortran runtime descriptor, and not a
pointer to a descriptor. This is because the fir.box is owned by the tuple
or fir.type.

FIR type translation was also flattening nested tuple while lowering to LLVM
dialect types. There does not seem to be a deep reason for doing that
and doing it causes issues in fir.coordinate_of generated on such tuple
(a fir.coordinate_of getting tuple<B, C> in tuple<A, tuple<B, C>>
ended-up lowered to an LLVM GEP getting B).

Differential Revision: https://reviews.llvm.org/D118701
2022-02-02 09:22:11 +01:00
..
Driver [flang] Make the frontend driver error out when requesting multiple actions 2021-12-17 10:05:28 +00:00
Evaluate [flang] Accept INDEX(..., BACK=array) 2022-01-19 17:37:24 -08:00
Examples [flang][flang-omp-report] Remove the loop workarounds for nowait clause 2021-11-04 14:23:50 +00:00
Fir [flang][optimizer] support aggregate types inside tuple and record type 2022-02-02 09:22:11 +01:00
Frontend [flang] Make the frontend driver error out when requesting multiple actions 2021-12-17 10:05:28 +00:00
Lower [flang] Lower PAUSE statement 2022-02-02 08:16:12 +01:00
NonGtestUnit [flang] Run non-gtest unit tests with lit. 2020-07-24 14:49:39 +01:00
Parser [flang] Catch mismatched parentheses in prescanner 2021-10-06 14:00:15 -07:00
Preprocessing [flang] Fix handling of space between # and name in preprocessor stringification 2022-01-12 16:02:17 -08:00
Runtime Reland "[flang] GET_COMMAND_ARGUMENT runtime implementation" 2021-09-28 12:34:07 +00:00
Semantics [flang] Distinguish intrinsic from non-intrinsic modules 2022-01-31 13:31:27 -08:00
Unit [flang] unit test support for out-of-tree and in-tree using google tests framework 2020-06-15 22:09:56 +05:30
CMakeLists.txt [flang] Initial lowering for empty program 2022-01-28 22:39:58 +01:00
lit.cfg.py [Flang] Replace notifyMatchFailure with TODO hard failures 2021-12-02 10:25:02 +00:00
lit.site.cfg.py.in [flang] Refine output file generation 2021-08-21 15:18:48 +00:00