[all-commits] [llvm/llvm-project] 640328: [Flang] [FlangRT] Introduce FlangRT project as sol...
pscoro via All-commits
all-commits at lists.llvm.org
Sat Sep 30 09:54:42 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 6403287eff71a3d6f6c862346d6ed3f0f000eb70
https://github.com/llvm/llvm-project/commit/6403287eff71a3d6f6c862346d6ed3f0f000eb70
Author: Paul Scoropan <1paulscoropan at gmail.com>
Date: 2023-09-30 (Sat, 30 Sep 2023)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
A flang-rt/CMakeLists.txt
A flang-rt/docs/GettingStarted.md
A flang-rt/test/CMakeLists.txt
A flang-rt/test/FortranRuntime/no-cpp-dep.c
A flang-rt/test/NonGtestUnit/lit.cfg.py
A flang-rt/test/NonGtestUnit/lit.site.cfg.py.in
A flang-rt/test/Unit/lit.cfg.py
A flang-rt/test/Unit/lit.site.cfg.py.in
A flang-rt/test/lit.cfg.py
A flang-rt/test/lit.site.cfg.py.in
A flang-rt/unittests/CMakeLists.txt
A flang-rt/unittests/FortranEvaluate/CMakeLists.txt
A flang-rt/unittests/FortranEvaluate/ISO-Fortran-binding.cpp
A flang-rt/unittests/FortranEvaluate/reshape.cpp
A flang-rt/unittests/FortranEvaluate/testing.cpp
A flang-rt/unittests/FortranEvaluate/testing.h
A flang-rt/unittests/FortranRuntime/Allocatable.cpp
A flang-rt/unittests/FortranRuntime/ArrayConstructor.cpp
A flang-rt/unittests/FortranRuntime/BufferTest.cpp
A flang-rt/unittests/FortranRuntime/CMakeLists.txt
A flang-rt/unittests/FortranRuntime/CharacterTest.cpp
A flang-rt/unittests/FortranRuntime/CommandTest.cpp
A flang-rt/unittests/FortranRuntime/Complex.cpp
A flang-rt/unittests/FortranRuntime/CrashHandlerFixture.cpp
A flang-rt/unittests/FortranRuntime/CrashHandlerFixture.h
A flang-rt/unittests/FortranRuntime/Derived.cpp
A flang-rt/unittests/FortranRuntime/ExternalIOTest.cpp
A flang-rt/unittests/FortranRuntime/Format.cpp
A flang-rt/unittests/FortranRuntime/Inquiry.cpp
A flang-rt/unittests/FortranRuntime/ListInputTest.cpp
A flang-rt/unittests/FortranRuntime/LogicalFormatTest.cpp
A flang-rt/unittests/FortranRuntime/Matmul.cpp
A flang-rt/unittests/FortranRuntime/MatmulTranspose.cpp
A flang-rt/unittests/FortranRuntime/MiscIntrinsic.cpp
A flang-rt/unittests/FortranRuntime/Namelist.cpp
A flang-rt/unittests/FortranRuntime/Numeric.cpp
A flang-rt/unittests/FortranRuntime/NumericalFormatTest.cpp
A flang-rt/unittests/FortranRuntime/Pointer.cpp
A flang-rt/unittests/FortranRuntime/Ragged.cpp
A flang-rt/unittests/FortranRuntime/Random.cpp
A flang-rt/unittests/FortranRuntime/Reduction.cpp
A flang-rt/unittests/FortranRuntime/RuntimeCrashTest.cpp
A flang-rt/unittests/FortranRuntime/Stop.cpp
A flang-rt/unittests/FortranRuntime/TemporaryStack.cpp
A flang-rt/unittests/FortranRuntime/Time.cpp
A flang-rt/unittests/FortranRuntime/Transformational.cpp
A flang-rt/unittests/FortranRuntime/tools.h
M flang/CMakeLists.txt
M flang/cmake/modules/AddFlang.cmake
M flang/cmake/modules/FlangConfig.cmake.in
M flang/lib/Decimal/CMakeLists.txt
M flang/runtime/CMakeLists.txt
M flang/runtime/sum.cpp
M flang/test/CMakeLists.txt
M flang/test/Driver/linker-flags.f90
M flang/test/lit.cfg.py
M flang/tools/flang-driver/CMakeLists.txt
M flang/unittests/CMakeLists.txt
M flang/unittests/Evaluate/CMakeLists.txt
R flang/unittests/Evaluate/ISO-Fortran-binding.cpp
R flang/unittests/Evaluate/reshape.cpp
M flang/unittests/Optimizer/CMakeLists.txt
R flang/unittests/Runtime/Allocatable.cpp
R flang/unittests/Runtime/ArrayConstructor.cpp
R flang/unittests/Runtime/BufferTest.cpp
R flang/unittests/Runtime/CMakeLists.txt
R flang/unittests/Runtime/CharacterTest.cpp
R flang/unittests/Runtime/CommandTest.cpp
R flang/unittests/Runtime/Complex.cpp
R flang/unittests/Runtime/CrashHandlerFixture.cpp
R flang/unittests/Runtime/CrashHandlerFixture.h
R flang/unittests/Runtime/Derived.cpp
R flang/unittests/Runtime/ExternalIOTest.cpp
R flang/unittests/Runtime/Format.cpp
R flang/unittests/Runtime/Inquiry.cpp
R flang/unittests/Runtime/ListInputTest.cpp
R flang/unittests/Runtime/LogicalFormatTest.cpp
R flang/unittests/Runtime/Matmul.cpp
R flang/unittests/Runtime/MatmulTranspose.cpp
R flang/unittests/Runtime/MiscIntrinsic.cpp
R flang/unittests/Runtime/Namelist.cpp
R flang/unittests/Runtime/Numeric.cpp
R flang/unittests/Runtime/NumericalFormatTest.cpp
R flang/unittests/Runtime/Pointer.cpp
R flang/unittests/Runtime/Ragged.cpp
R flang/unittests/Runtime/Random.cpp
R flang/unittests/Runtime/Reduction.cpp
R flang/unittests/Runtime/RuntimeCrashTest.cpp
R flang/unittests/Runtime/Stop.cpp
R flang/unittests/Runtime/TemporaryStack.cpp
R flang/unittests/Runtime/Time.cpp
R flang/unittests/Runtime/Transformational.cpp
R flang/unittests/Runtime/tools.h
M lld/COFF/MinGW.cpp
M llvm/CMakeLists.txt
M llvm/projects/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
M runtimes/CMakeLists.txt
Log Message:
-----------
[Flang] [FlangRT] Introduce FlangRT project as solution to Flang's runtime LLVM integration
See discourse thread https://discourse.llvm.org/t/rfc-support-cmake-option-to-control-link-type-built-for-flang-runtime-libraries/71602/18 for full details.
Flang-rt is the new library target for the flang runtime libraries. It builds the Flang-rt library (which contains the sources of FortranRuntime and FortranDecimal) and the Fortran_main library. See documentation in this patch for detailed description (flang-rt/docs/GettingStarted.md).
This patch aims to:
- integrate Flang's runtime into existing llvm infrasturcture so that Flang's runtime can be built similarly to other runtimes via the runtimes target or via the llvm target as an enabled runtime
- decouple the FortranDecimal library sources that were used by both compiler and runtime so that different build configurations can be applied for compiler vs runtime
- add support for running flang-rt testsuites, which were created by migrating relevant tests from `flang/test` and `flang/unittest` to `flang-rt/test` and `flang-rt/unittest`, using a new `check-flang-rt` target.
- provide documentation on how to build and use the new FlangRT runtime
Reviewed By: DanielCChen
Differential Revision: https://reviews.llvm.org/D154869
More information about the All-commits
mailing list