mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-25 20:36:06 +00:00

This PR starts the effort to upstream AMD's internal implementation of `do concurrent` to OpenMP mapping. This replaces #77285 since we extended this WIP quite a bit on our fork over the past year. An important part of this PR is a document that describes the current status downstream, the upstreaming status, and next steps to make this pass much more useful. In addition to this document, this PR also contains the skeleton of the pass (no useful transformations are done yet) and some testing for the added command line options. This looks like a huge PR but a lot of the added stuff is documentation. It is also worth noting that the downstream pass has been validated on https://github.com/BerkeleyLab/fiats. For the CPU mapping, this achived performance speed-ups that match pure OpenMP, for GPU mapping we are still working on extending our support for implicit memory mapping and locality specifiers. PR stack: - https://github.com/llvm/llvm-project/pull/126026 (this PR) - https://github.com/llvm/llvm-project/pull/127595 - https://github.com/llvm/llvm-project/pull/127633 - https://github.com/llvm/llvm-project/pull/127634 - https://github.com/llvm/llvm-project/pull/127635
2.0 KiB
2.0 KiB
Welcome to Flang's documentation
Flang is LLVM's Fortran frontend that can be found here. It is often referred to as "LLVM Flang" to differentiate itself from "Classic Flang" - these are two separate and independent Fortran compilers. LLVM Flang is under active development. While it is capable of generating executables for a number of examples, some functionality is still missing. See Getting Involved for tips on how to get in touch with us and to learn more about the current status.
.. toctree::
:titlesonly:
ReleaseNotes
Contributing to Flang
.. toctree::
:titlesonly:
C++17
C++style
DesignGuideline
FortranForCProgrammers
GettingInvolved
GettingStarted
ImplementingASemanticCheck
PullRequestChecklist
Design Documents
.. toctree::
:titlesonly:
Aliasing
AliasingAnalysisFIR
ArrayComposition
ArrayRepacking
AssumedRank
BijectiveInternalNameUniquing
Calls
Character
ComplexOperations
ControlFlowGraph
DebugGeneration
Directives
DoConcurrent
DoConcurrentConversionToOpenMP
Extensions
F202X
FIRArrayOperations
FIRLangRef
FlangCommandLineReference
FlangDriver
FortranFeatureHistory
FortranIR
FortranLLVMTestSuite
HighLevelFIR
IORuntimeInternals
InternalProcedureTrampolines
Intrinsics
IntrinsicTypes
LabelResolution
ModFiles
OpenACC
OpenACC-descriptor-management.md
OpenMP-4.5-grammar.md
OpenMP-declare-target
OpenMP-descriptor-management
OpenMP-semantics
OptionComparison
Overview
ParameterizedDerivedTypes
ParserCombinators
Parsing
PolymorphicEntities
Preprocessing
ProcedurePointer
RuntimeDescriptor
RuntimeEnvironment
RuntimeTypeInfo
Semantics
f2018-grammar.md
fstack-arrays
Real16MathSupport
Unsigned
Indices and tables
* :ref:`genindex`
* :ref:`search`