|
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 |
|
| #
8b3ed1fa |
| 17-Jul-2022 |
Kazu Hirata <[email protected]> |
Remove redundant return statements (NFC)
Identified with readability-redundant-control-flow.
|
| #
740633ff |
| 04-Jul-2022 |
Valentin Clement <[email protected]> |
[flang] Add TODO for derived types with final procedure
Finalization is F2003 and although the runtime supports it already, lowering is not ensuring all the derived type are finalized properly when
[flang] Add TODO for derived types with final procedure
Finalization is F2003 and although the runtime supports it already, lowering is not ensuring all the derived type are finalized properly when they should. This will require surveying the places where lowering needs to call it. Add a hard TODO for now.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: jeanPerier
Differential Revision: https://reviews.llvm.org/D129069
Co-authored-by: Jean Perier <[email protected]>
show more ...
|
| #
39377d52 |
| 01-Jul-2022 |
Valentin Clement <[email protected]> |
[flang] Fix APFloat conversion cases
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: PeteSteinfeld
Differential Revision: https://reviews.llvm.org/D128935
Co-author
[flang] Fix APFloat conversion cases
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: PeteSteinfeld
Differential Revision: https://reviews.llvm.org/D128935
Co-authored-by: Eric Schweitz <[email protected]> Co-authored-by: Peter Steinfeld <[email protected]>
show more ...
|
|
Revision tags: llvmorg-14.0.6 |
|
| #
331145e6 |
| 20-Jun-2022 |
Valentin Clement <[email protected]> |
[flang][NFC] Unify todo messages
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: jeanPerier
Differential Revision: https://reviews.llvm.org/D128186
Co-authored-by:
[flang][NFC] Unify todo messages
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: jeanPerier
Differential Revision: https://reviews.llvm.org/D128186
Co-authored-by: Peter Steinfeld <[email protected]>
show more ...
|
|
Revision tags: llvmorg-14.0.5 |
|
| #
5b66cc10 |
| 10-Jun-2022 |
Valentin Clement <[email protected]> |
[flang][NFC] Move Todo.h from Lower to Optimizer
Remove a backwards dependence from Optimizer -> Lower by moving Todo.h to the optimizer and out of lowering.
This patch is part of the upstreaming e
[flang][NFC] Move Todo.h from Lower to Optimizer
Remove a backwards dependence from Optimizer -> Lower by moving Todo.h to the optimizer and out of lowering.
This patch is part of the upstreaming effort from fir-dev branch.
Co-authored-by: Eric Schweitz <[email protected]>
Reviewed By: jeanPerier
Differential Revision: https://reviews.llvm.org/D127292
show more ...
|
|
Revision tags: llvmorg-14.0.4 |
|
| #
1e1f60c6 |
| 24-May-2022 |
V Donaldson <[email protected]> |
[flang] Alternate entry points with unused arguments
A dummy argument in an entry point of a subprogram with multiple entry points need not be defined in other entry points. It is only legal to refe
[flang] Alternate entry points with unused arguments
A dummy argument in an entry point of a subprogram with multiple entry points need not be defined in other entry points. It is only legal to reference such an argument when calling an entry point that does have a definition. An entry point without such a definition needs a local "substitute" definition sufficient to generate code. It is nonconformant to reference such a definition at runtime. Most such definitions and associated code will be deleted as dead code at compile time. However, that is not always possible, as in the following code. This code is conformant if all calls to entry point ss set m=3, and all calls to entry point ee set n=3.
subroutine ss(a, b, m, d, k) ! no x, y, n integer :: a(m), b(a(m)), m, d(k) integer :: x(n), y(x(n)), n integer :: k 1 print*, m, k print*, a print*, b print*, d if (m == 3) return entry ee(x, y, n, d, k) ! no a, b, m print*, n, k print*, x print*, y print*, d if (n /= 3) goto 1 end
integer :: xx(3), yy(5), zz(3) xx = 5 yy = 7 zz = 9 call ss(xx, yy, 3, zz, 3) call ss(xx, yy, 3, zz, 3) end
Lowering currently generates fir::UndefOp's for all unused arguments. This is usually ok, but cases such as the one here incorrectly access unused UndefOp arguments for m and n from an entry point that doesn't have a proper definition.
The problem is addressed by creating a more complete definition of an unused argument in most cases. This is implemented in large part by moving the definition of an unused argument from mapDummiesAndResults to mapSymbolAttributes. The code in mapSymbolAttributes then chooses one of three code generation options, depending on information available there.
This patch deals with dummy procedures in alternate entries, and adds a TODO for procedure pointers (the PFTBuilder is modified to analyze procedure pointer symbol so that they are not silently ignored, and instead hits proper TODOs).
BoxAnalyzer is also changed because assumed-sized arrays were wrongfully categorized as constant shape arrays. This had no impact, except when there were unused entry points.
Co-authored-by: jeanPerier <[email protected]>
Differential Revision: https://reviews.llvm.org/D125867
show more ...
|
| #
8594b051 |
| 04-May-2022 |
Peter Klausler <[email protected]> |
[flang] Accept POINTER followed by INTERFACE
As is already supported for dummy procedures, we need to also accept declarations of procedure pointers that consist of a POINTER attribute statement fol
[flang] Accept POINTER followed by INTERFACE
As is already supported for dummy procedures, we need to also accept declarations of procedure pointers that consist of a POINTER attribute statement followed by an INTERFACE block. (The case of an INTERFACE block followed by a POINTER statement already works.)
While cleaning this case up, adjust the utility predicate IsProcedurePointer() to recognize it (namely a SubprogramDetails symbol with Attr::POINTER) and delete IsProcName(). Extend tests, and add better comments to symbol.h to document the two ways in which procedure pointers are represented.
Differential Revision: https://reviews.llvm.org/D125139
show more ...
|
|
Revision tags: llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
| #
9aeb7f03 |
| 16-Mar-2022 |
Valentin Clement <[email protected]> |
[flang] Lower IO input with vector subscripts
This patch adds lowering for IO input with vector subscripts. It defines a VectorSubscriptBox class that allow representing and working with a lowered D
[flang] Lower IO input with vector subscripts
This patch adds lowering for IO input with vector subscripts. It defines a VectorSubscriptBox class that allow representing and working with a lowered Designator containing vector subscripts while ensuring all the subscripts expression are only lowered once.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: PeteSteinfeld
Differential Revision: https://reviews.llvm.org/D121806
Co-authored-by: Jean Perier <[email protected]> Co-authored-by: Eric Schweitz <[email protected]>
show more ...
|
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3 |
|
| #
589d51ea |
| 10-Mar-2022 |
Valentin Clement <[email protected]> |
[flang] Lower basic derived types
This patch lowers basic derived type to FIR.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: PeteSteinfeld
Differential Revision:
[flang] Lower basic derived types
This patch lowers basic derived type to FIR.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: PeteSteinfeld
Differential Revision: https://reviews.llvm.org/D121383
Co-authored-by: V Donaldson <[email protected]> Co-authored-by: Jean Perier <[email protected]> Co-authored-by: Eric Schweitz <[email protected]>
show more ...
|
|
Revision tags: llvmorg-14.0.0-rc2 |
|
| #
8c22cb84 |
| 01-Mar-2022 |
Valentin Clement <[email protected]> |
[flang] Lower basic IO statement
This patch enables the lowering of the print, read and write IO statements.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: PeteStei
[flang] Lower basic IO statement
This patch enables the lowering of the print, read and write IO statements.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: PeteSteinfeld, schweitz
Differential Revision: https://reviews.llvm.org/D120743
Co-authored-by: Eric Schweitz <[email protected]> Co-authored-by: Jean Perier <[email protected]> Co-authored-by: V Donaldson <[email protected]> Co-authored-by: Kiran Chandramohan <[email protected]>
show more ...
|
| #
307ccf4c |
| 23-Feb-2022 |
Valentin Clement <[email protected]> |
[flang][NFC] Clean up ConvertType
This patch removes unused or obsolete code in the ConvertType.h and ConvertType.cpp files. These files were landed together with the initial flang upstreaming. This
[flang][NFC] Clean up ConvertType
This patch removes unused or obsolete code in the ConvertType.h and ConvertType.cpp files. These files were landed together with the initial flang upstreaming. This cleanup will help future upstreaming effort from fir-dev and keep only used code.
Reviewed By: PeteSteinfeld
Differential Revision: https://reviews.llvm.org/D120405
show more ...
|
| #
b3d1f073 |
| 23-Feb-2022 |
Valentin Clement <[email protected]> |
[flang] Lower real constant
This patch handles lowering of real constant.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: PeteSteinfeld
Differential Revision: https
[flang] Lower real constant
This patch handles lowering of real constant.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: PeteSteinfeld
Differential Revision: https://reviews.llvm.org/D120354
Co-authored-by: Eric Schweitz <[email protected]> Co-authored-by: Jean Perier <[email protected]>
show more ...
|
| #
e641c29f |
| 17-Feb-2022 |
Valentin Clement <[email protected]> |
[flang] Lower simple scalar assignment
This patch hanlde lowering of simple scalar assignment.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: PeteSteinfeld
Differe
[flang] Lower simple scalar assignment
This patch hanlde lowering of simple scalar assignment.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: PeteSteinfeld
Differential Revision: https://reviews.llvm.org/D120058
Co-authored-by: Jean Perier <[email protected]>
show more ...
|
| #
c807aa53 |
| 15-Feb-2022 |
Valentin Clement <[email protected]> |
[flang] Handle lowering of ranked array
This patch adds lowering of ranked array as function return.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: PeteSteinfeld
D
[flang] Handle lowering of ranked array
This patch adds lowering of ranked array as function return.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: PeteSteinfeld
Differential Revision: https://reviews.llvm.org/D119835
Co-authored-by: Jean Perier <[email protected]>
show more ...
|
| #
1ceb1d9b |
| 15-Feb-2022 |
Valentin Clement <[email protected]> |
[flang] Enable complex type in function lowering
This patch enables complex type in lowering. It is tested on function return types.
This patch is part of the upstreaming effort from fir-dev branch
[flang] Enable complex type in function lowering
This patch enables complex type in lowering. It is tested on function return types.
This patch is part of the upstreaming effort from fir-dev branch.
Depends on D119698
Reviewed By: kiranchandramohan
Differential Revision: https://reviews.llvm.org/D119700
Co-authored-by: Jean Perier <[email protected]>
show more ...
|
| #
0a0b3029 |
| 15-Feb-2022 |
Valentin Clement <[email protected]> |
[flang] Enable scalar real type in lowering
This patch enables scalar real type in lowering. It is tested on function return types.
This patch is part of the upstreaming effort from fir-dev branch.
[flang] Enable scalar real type in lowering
This patch enables scalar real type in lowering. It is tested on function return types.
This patch is part of the upstreaming effort from fir-dev branch.
Depends on D119698
Reviewed By: kiranchandramohan
Differential Revision: https://reviews.llvm.org/D119699
Co-authored-by: Jean Perier <[email protected]>
show more ...
|
| #
ad40cc14 |
| 14-Feb-2022 |
Valentin Clement <[email protected]> |
[flang] Lower basic function with scalar integer/logical return value
This patch allows the lowring of simple empty function with a scalar integer or logical return value. The code in ConvertType.cp
[flang] Lower basic function with scalar integer/logical return value
This patch allows the lowring of simple empty function with a scalar integer or logical return value. The code in ConvertType.cpp is cleaned up as well. This file was landed together with the initial flang push and lowering was still a prototype at that time. Some more cleaning will come with follow up patches.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: PeteSteinfeld
Differential Revision: https://reviews.llvm.org/D119698
Co-authored-by: Jean Perier <[email protected]>
show more ...
|
|
Revision tags: llvmorg-14.0.0-rc1 |
|
| #
b8804557 |
| 07-Feb-2022 |
Valentin Clement <[email protected]> |
[flang] Remove unused converter for now
AbstractConverter private variable is currently not used and triggers a buildbot failure.
https://lab.llvm.org/buildbot/#/builders/180/builds/3119
This fixe
[flang] Remove unused converter for now
AbstractConverter private variable is currently not used and triggers a buildbot failure.
https://lab.llvm.org/buildbot/#/builders/180/builds/3119
This fixes the buildbot.
show more ...
|
| #
2c2e5a5d |
| 07-Feb-2022 |
Valentin Clement <[email protected]> |
[flang] Basic local variable lowering
This patch add lowering for simple local variable.
- The signatures in `ConvertType.h` have been simplified to take advantage of the `AbstractConverter`. - The
[flang] Basic local variable lowering
This patch add lowering for simple local variable.
- The signatures in `ConvertType.h` have been simplified to take advantage of the `AbstractConverter`. - The lowering make use of the `allocateLocal` from the `FirOpBuilder`.
This lowering is used in patch D118982
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: kiranchandramohan, jeanPerier, schweitz
Differential Revision: https://reviews.llvm.org/D118978
show more ...
|
| #
dc6a3446 |
| 03-Feb-2022 |
Valentin Clement <[email protected]> |
[flang] Add lowering for integer constant
This patch enables the lowering of integer constant.
The `ScalarExprLowering` class is introduced in `ConvertExpr.cpp` to help the lowering of expression.
[flang] Add lowering for integer constant
This patch enables the lowering of integer constant.
The `ScalarExprLowering` class is introduced in `ConvertExpr.cpp` to help the lowering of expression. This patch adds all the placeholder as well for future expression lowering with the appropriate TODOs.
Integer constant expression are lowered to `arith.constant` with an integer type corresponding to the kind value.
This patch is in support of D118787
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: schweitz, kiranchandramohan
Differential Revision: https://reviews.llvm.org/D118786
show more ...
|
|
Revision tags: llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
| #
44bc97c8 |
| 26-Nov-2021 |
Peter Klausler <[email protected]> |
[flang] Adjust names in Semantics that imply too much (NFC)
Some kinds of Fortran arrays are declared with the same syntax, and it is impossible to tell from a shape (:, :) or (*) whether the object
[flang] Adjust names in Semantics that imply too much (NFC)
Some kinds of Fortran arrays are declared with the same syntax, and it is impossible to tell from a shape (:, :) or (*) whether the object is assumed shape, deferred shape, assumed size, implied shape, or whatever without recourse to more information about the symbol in question. This patch softens the names of some predicate functions (IsAssumedShape to CanBeAssumedShape) and makes others more reflective of the syntax they represent (isAssumed to isStar) in an attempt to encourage coders to seek and find definitive predicate functions whose names deliver what they seem to mean.
Address TODO comments in IsSimplyContiguous() by using the updated IsAssumedShape() predicate.
Differential Revision: https://reviews.llvm.org/D114829
show more ...
|
|
Revision tags: llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, 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 |
|
| #
7e20a413 |
| 05-Feb-2021 |
Eric Schweitz <[email protected]> |
[flang][fir] Update FIR's character type.
Upstream the changes made to the !fir.char type.
https://github.com/flang-compiler/f18-llvm-project/pull/269 https://github.com/flang-compiler/f18-llvm-pro
[flang][fir] Update FIR's character type.
Upstream the changes made to the !fir.char type.
https://github.com/flang-compiler/f18-llvm-project/pull/269 https://github.com/flang-compiler/f18-llvm-project/pull/557
Author: Eric Schweitz, Jean Perier
Differention Revision: https://reviews.llvm.org/D96183
show more ...
|
|
Revision tags: llvmorg-11.1.0, llvmorg-11.1.0-rc3 |
|
| #
59186902 |
| 30-Jan-2021 |
Eric Schweitz <[email protected]> |
[flang][NFC] Rename complex type.
This change renames the CplxType class to ComplexType.
|
|
Revision tags: 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 |
|
| #
1b97cdf8 |
| 17-Dec-2020 |
River Riddle <[email protected]> |
[mlir][IR][NFC] Move context/location parameters of builtin Type::get methods to the start of the parameter list
This better matches the rest of the infrastructure, is much simpler, and makes it eas
[mlir][IR][NFC] Move context/location parameters of builtin Type::get methods to the start of the parameter list
This better matches the rest of the infrastructure, is much simpler, and makes it easier to move these types to being declaratively specified.
Differential Revision: https://reviews.llvm.org/D93432
show more ...
|
| #
09f7a55f |
| 04-Dec-2020 |
River Riddle <[email protected]> |
[mlir][Types][NFC] Move all of the builtin Type classes to BuiltinTypes.h
This is part of a larger refactoring the better congregates the builtin structures under the BuiltinDialect. This also remov
[mlir][Types][NFC] Move all of the builtin Type classes to BuiltinTypes.h
This is part of a larger refactoring the better congregates the builtin structures under the BuiltinDialect. This also removes the problematic "standard" naming that clashes with the "standard" dialect, which is not defined within IR/. A temporary forward is placed in StandardTypes.h to allow time for downstream users to replaced references.
Differential Revision: https://reviews.llvm.org/D92435
show more ...
|