|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
| #
009ab172 |
| 16-Jul-2022 |
Kazu Hirata <[email protected]> |
[flang] Use *X instead of X.getValue() (NFC)
Per Flang C++ Style Guide, this patch replaces X.getValue() with *X where *X is protected by a presence test.
|
| #
86b8c1d9 |
| 10-Jul-2022 |
Kazu Hirata <[email protected]> |
[flang] Don't use Optional::hasValue (NFC)
Flang C++ Style Guide tells us to avoid .has_value() in the predicate expressions of control flow statements. I am treating ternary expressions as control
[flang] Don't use Optional::hasValue (NFC)
Flang C++ Style Guide tells us to avoid .has_value() in the predicate expressions of control flow statements. I am treating ternary expressions as control flow statements for the purpose of this patch.
Differential Revision: https://reviews.llvm.org/D128622
show more ...
|
| #
3b7c3a65 |
| 25-Jun-2022 |
Kazu Hirata <[email protected]> |
Revert "Don't use Optional::hasValue (NFC)"
This reverts commit aa8feeefd3ac6c78ee8f67bf033976fc7d68bc6d.
|
| #
aa8feeef |
| 25-Jun-2022 |
Kazu Hirata <[email protected]> |
Don't use Optional::hasValue (NFC)
|
|
Revision tags: llvmorg-14.0.6 |
|
| #
5413bf1b |
| 20-Jun-2022 |
Kazu Hirata <[email protected]> |
Don't use Optional::hasValue (NFC)
|
|
Revision tags: llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3 |
|
| #
013160f6 |
| 03-Mar-2022 |
Jean Perier <[email protected]> |
[flang] Support PDT type descriptors in codegen
This change updates the mapping of derived types and type descriptor object names to support kind parametrized derived types (PDT). It moves the custo
[flang] Support PDT type descriptors in codegen
This change updates the mapping of derived types and type descriptor object names to support kind parametrized derived types (PDT). It moves the custom name mapping to the internal name utility.
To improve robustness and error reporting, type descriptors are also now required to be generated in all compilation unit that manipulates derived types. The previous codegen relied on the fact that descriptors not defined in the current FIR module were available externally. Errors with missing type descriptors were only caught at link time.
This patch makes derived type definition mandatory, except if the derived types are expected to not have derived type descriptors (builtin types), or if the newly added debug switch `--ignore-missing-type-desc` is set. In those cases, a null pointer is used as type descriptor pointer. The debug switch intends to help testing FIR to LLVM passes without having to bother providing type descriptor data structures that are normally built by the front-end.
Differential Revision: https://reviews.llvm.org/D120804
show more ...
|
|
Revision tags: llvmorg-14.0.0-rc2 |
|
| #
7dd7ccd2 |
| 14-Feb-2022 |
Jean Perier <[email protected]> |
[flang] Fail at link time if derived type descriptors were not generated
Currently, code generation was creating weak symbols for derived type descriptor global it could not find in the current comp
[flang] Fail at link time if derived type descriptors were not generated
Currently, code generation was creating weak symbols for derived type descriptor global it could not find in the current compilation unit. The rational is that: - the derived type descriptors of external module derived types are generated in the compilation unit that compiled the module so that the type descriptor address is uniquely associated with the type. - some types do not have derived type descriptors: the builtin derived types used to create derived type descriptors. The runtime knows about them and does not need them to accomplish the feat of describing themselves. Hence, all unresolved derived type descriptors in codegen cannot be assumed to be resolved at link time.
However, this caused immense debugging pain when, for some reasons, derived type descriptor that should be generated were not. This caused random runtime failures instead of a much cleaner link time failure.
Improve this situation by allowing codegen to detect the builtin derived types that have no derived type descriptors and requiring the other unresolved derived type descriptor to be resolved at link time.
Also make derived type descriptor constant data since this was a TODO and makes the situation even cleaner. This requiring telling lowering which compiler created symbols can be placed in read only memory. I considered using PARAMETER, but I have mixed feeling using it since that would cause the initializer expressions of derived type descriptor to be invalid from a Fortran point of view since pointer targets cannot be parameters. I do not want to start misusing Fortran attributes, even if I think it is quite unlikely semantics would currently complain. I also do not want to rely on the fact that all object symbols with the CompilerCreated flags are currently constant data. This could easily change in the future and cause runtime bugs if lowering rely on this while the assumption is not loud and clear in semantics. Instead, add a ReadOnly symbol flag to tell lowering that a compiler generated symbol can be placed in read only memory.
Differential Revision: https://reviews.llvm.org/D119555
show more ...
|
|
Revision tags: llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3 |
|
| #
64d7d5a5 |
| 19-Jan-2022 |
Valentin Clement <[email protected]> |
[flang][NFC] Remove number of inlined elements
Following the recommendation just remove the specified number of inlined elements since it is not well-motivated choice here.
|
|
Revision tags: llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1 |
|
| #
fc66dbba |
| 05-Oct-2021 |
Valentin Clement <[email protected]> |
[fir] Add external name interop pass
Add the external name conversion pass needed for compiler interoperability. This pass convert the Flang internal symbol name to the common gfortran convention.
[fir] Add external name interop pass
Add the external name conversion pass needed for compiler interoperability. This pass convert the Flang internal symbol name to the common gfortran convention.
Clean up old passes without implementation in the Passes.ts file so the project and fir-opt can build correctly.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: schweitz
Differential Revision: https://reviews.llvm.org/D111057
show more ...
|
| #
1e96c4b5 |
| 04-Oct-2021 |
Valentin Clement <[email protected]> |
[fir][NFC] Fix couple of clang-tidy warnings
Fix some clang-tidy wrning in flang/Optimizer/Support and remove explicit number of inlined elements for SmallVector. This is mostly to sync with the cha
[fir][NFC] Fix couple of clang-tidy warnings
Fix some clang-tidy wrning in flang/Optimizer/Support and remove explicit number of inlined elements for SmallVector. This is mostly to sync with the changes from fir-dev.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: schweitz
Differential Revision: https://reviews.llvm.org/D111044
show more ...
|
| #
62cc6b0d |
| 24-Sep-2021 |
Valentin Clement <[email protected]> |
[flang][fir] Add support to mangle/deconstruct namelist group name
Add support to create unique name for namelist group and be able to deconstruct them.
This patch is part of the upstreaming effort
[flang][fir] Add support to mangle/deconstruct namelist group name
Add support to create unique name for namelist group and be able to deconstruct them.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: jeanPerier
Differential Revision: https://reviews.llvm.org/D110331
Co-authored-by: Jean Perier <[email protected]> Co-authored-by: Eric Schweitz <[email protected]>
show more ...
|
| #
321be24a |
| 24-Sep-2021 |
Valentin Clement <[email protected]> |
Revert "[flang][fir] Add support to mangle/deconstruct namelist group name"
This reverts commit 3593ae4312f6156c9ca50d46cdb55a8dfad782d0.
|
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4 |
|
| #
3593ae43 |
| 24-Sep-2021 |
Valentin Clement <[email protected]> |
[flang][fir] Add support to mangle/deconstruct namelist group name
Add support to create unique name for namelist group and be able to deconstruct them.
This patch is part of the upstreaming effort
[flang][fir] Add support to mangle/deconstruct namelist group name
Add support to create unique name for namelist group and be able to deconstruct them.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: jeanPerier
Differential Revision: https://reviews.llvm.org/D110331
Co-authored-by: Jean Perier <[email protected]> Co-authored-by: Eric Schweitz <[email protected]>
show more ...
|
|
Revision tags: llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2 |
|
| #
c68d2895 |
| 19-Feb-2021 |
Eric Schweitz <[email protected]> |
[flang][fir] Update flang test tool support classes.
This updates the various classes that support the compliation of Fortran. These classes are shared by the test tools.
Authors: Eric Schweitz, Sa
[flang][fir] Update flang test tool support classes.
This updates the various classes that support the compliation of Fortran. These classes are shared by the test tools.
Authors: Eric Schweitz, Sameeran Joshi, et.al.
Differential Revision: https://reviews.llvm.org/D97073
show more ...
|
| #
e090182f |
| 09-Feb-2021 |
Eric Schweitz <[email protected]> |
[flang][fir] Updates to internal name uniquer.
https://github.com/flang-compiler/f18-llvm-project/pull/474
Differential Revision: https://reviews.llvm.org/D96361
|
|
Revision tags: llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2 |
|
| #
30db1776 |
| 12-Jun-2020 |
Eric Schweitz <[email protected]> |
[flang] Upstream the Mangler module from lowering.
This upstreams the internal name mangling used in the bridge to generate unique names from symbols.
Replace InternalNamesTest with the actual, fun
[flang] Upstream the Mangler module from lowering.
This upstreams the internal name mangling used in the bridge to generate unique names from symbols.
Replace InternalNamesTest with the actual, functional unittest.
Differential revision: https://reviews.llvm.org/D81764
show more ...
|
|
Revision tags: llvmorg-10.0.1-rc1 |
|
| #
5339029f |
| 24-Apr-2020 |
Eric Schweitz <[email protected]> |
[flang] Support for making unique internal names.
Differential Revision: https://reviews.llvm.org/D78838
|