Lines Matching +full:docs +full:- +full:flang +full:- +full:html
1 <!--===- docs/DesignGuideline.md
5 SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 -->
11 ---
13 ---
19 When working on a new feature in flang, some design document should
21 that need support in flang are listed in llvm github project
22 [Flang features to be implemented](https://github.com/orgs/llvm/projects/12).
33 The design document should be added to the `docs` folder as a markdown document,
35 Phabricator is the pre-requisite to submitting patches implementing new
38 An RFC on flang https://discourse.llvm.org can first be made as one sees fit,
48 [LLVM Testing Guide](https://llvm.org/docs/TestingGuide.html)), and if some
49 existing end-to-end test suite or application can be used to validate the
52 Features impacting projects outside of flang (like work OpenMP or OpenACC that
53 may require touching parts outside of flang tree) should follow [the general
54 LLVM process](https://llvm.org/docs/DeveloperPolicy.html#making-a-major-change),
55 or the related subproject process. There should still be a related flang design
56 document if part of the solution impacts flang in significant ways (e.g. if the
57 changes in the code that lowers the parse-tree to OpenMP and FIR dialects are
58 not straightforwardly mapping parse-tree nodes to dialect operations).
71 - Stick to well-defined Fortran terms when talking about Fortran
74 - Be precise (e.g., pointing to the standard reference or constraint numbers).
77 - Illustrate with a few small Fortran code snippets if applicable
78 - When dealing with lowering, illustrate lowering output with a few FIR
80 - Illustrations do not have to be fully functional programs, it is better to
87 Fortran feature before writing a design for its implementation in flang.
89 - Identify the relevant sections and constraints in the standard.
90 - Write Fortran programs using the feature and, if possible,
92 - Check if the related constraints (Cxxx numbers in the standard) are enforced
95 - Identify if the feature affects compatibility with programs compiled by other
96 Fortran compilers, or if a given solution for flang could not be changed in
98 with flang. It is not a goal to be 100% binary compatible with other
102 flang compiled code and vice-versa.
103 - Identify related features, or contexts that matter for the feature (e.g,
106 - Not everything has to be inlined code, delegating part of the work to the
109 - For inlined code, consider what should happen when generating the FIR,
112 - For inlined ops, look at how the existing dialects can be reused.
114 - Look at the related representation in Semantics (e.g., is some information