[flang] Consolidate copy-in/copy-out determination in evaluate framework #151408
[flang][DRAFT] Copy-in/Copy-out determination
54c0158d
Call DetermineCopyInOut() from lowering
808fb20c
clang-format
28bc5bd9
DetermineCopyInOut() is now called from ProcedureRef constructor
f44b9459
clang-format
ffd65635
Minor tweak
fb3a93c6
Merge branch 'llvm:main' into copy-inout-dev
6e052f43
Merge branch 'llvm:main' into copy-inout-dev
b914f793
DetermineCopyInOut() is now called at ProcedureRef instantiation
527b2d76
Very rough beginnings of argument handling in DetermineCopyInOut()
9c1755b2
More args handing in DetermineCopyInOut()
3198e905
clang-format
0378a5f4
clang-format
5d5418a6
clang-format
2cce4bba
Merge branch 'llvm:main' into copy-inout-dev
f6f64ca9
Merge branch 'llvm:main' into copy-inout-dev
4a6d402e
Merge branch 'llvm:main' into copy-inout-dev
698b865f
Initial implementation of DetermineCopyInOutArgument() for implicit
de06d252
Removed empty line
cf42b128
clang-format
9373b90c
Merge branch 'llvm:main' into copy-inout-dev
889f7c10
Merge branch 'llvm:main' into copy-inout-review
905c3156
Merge branch 'llvm:main' into copy-inout-dev
d9452c34
Merge branch 'copy-inout-dev' into copy-inout-review
fab0c75f
Merge branch 'llvm:main' into copy-inout-dev
9e471767
Braces!
12ca5a81
Merge branch 'llvm:main' into copy-inout-dev
3126a8cf
Merge branch 'llvm:main' into copy-inout-dev
c2fc2e93
Merge branch 'llvm:main' into copy-inout-dev
902894c8
Merge branch 'llvm:main' into copy-inout-dev
c3ef243f
clang-format
143f7bd0
Renamed copy-in/copy-out getter/setter functions
6d0935cf
Contiguity check
15db3f8d
clang-format
58764a61
Continue filling out DetermineCopyInOutArgument(). Implemented IsExpl…
eb270319
clang-format
3ec01ad3
In DetermineCopyInOutArgument(), handle INTENT(IN) and INTENT(OUT)
889d514e
Merge branch 'llvm:main' into copy-inout-dev
040572fa
Merge branch 'llvm:main' into copy-inout-dev
04daa837
Merge branch 'llvm:main' into copy-inout-dev
5136de25
Merge branch 'llvm:main' into copy-inout-dev
7e448f01
Merge branch 'llvm:main' into copy-inout-dev
546af8f6
Support polymorphic-to-non-polymorphic case. Initial hookup into lowe…
068216fa
clang-format
3f36c9fb
array check
070ffd1e
array check
50622660
Changed IsExplicitShape() and restructured the checks
312cf258
Redid the integration to basically the old code but debug output with…
bc2e17ae
Tweaks and debug output
d026f49b
Switched to the new code. 5 failed tests left
55b8e0ee
Merge branch 'llvm:main' into copy-inout-dev
a7815121
Merge branch 'llvm:main' into copy-inout-dev
384bc2ee
Merge branch 'llvm:main' into copy-inout-dev
b3fd99a5
Fixed one issue with assumed rank arrays
258fc64e
clang-format
a1971903
Expaned IsAssumedShape() checks and moved them to Fortran::evaluate n…
30d36b0b
clang-format
47f26560
Passes LIT tests
aa65a3ef
Clean up in lowering to switch to the new checks
d285ded9
Ignore rank support
413eafd2
Polymorphic dummy with ignore rank
4590955c
clang-format (upstream)
d026e0df
clang-format (upstream)
0289de2c
clang-format (started using upstream)
2464dd3e
Added LIT test
f76c9e33
Implement copy-in/copy-out determination in Fortran::evaluate::MayNee…
b12d2c82
clang-format
24c2040b
Removed the old way to integrate copy-in/copy-out check
a760320d
Merge branch 'llvm:main' into copy-inout-dev
6868af82
Merge branch 'llvm:main' into copy-inout-review
e69fa22f
Merge branch 'copy-inout-dev' into copy-inout-review
1bd1822c
eugeneepshteyn
changed the title [flang][DRAFT] Copy-in/Copy-out determination [flang] Consolidate copy-in/copy-out determination in evaluate framework 22 days ago
eugeneepshteyn
marked this pull request as ready for review 22 days ago
Merge branch 'llvm:main' into copy-inout-dev
f752112e
Fixed the issue with user defined assignment
7aa458cd
clang-format
d1a8d7c6
Tweaked MayNeedCopyInOut() API
57fd73e2
Simplified IsAssumedRank() and IsAssumedShape()
b7dab28c
Moved IsAssumedRank() and IsAssumedShape() to namespace Fortran::sema…
0239c1d2
Merge branch 'llvm:main' into copy-inout-dev
95f0aac2
Merge branch 'llvm:main' into copy-inout-review
02ee2b7b
Merge branch 'copy-inout-dev' into copy-inout-review
4938d033
clang-format
0faca169
Merge branch 'copy-inout-dev' into copy-inout-review
6f828b3f
WIP: new API MayNeedCopy()
450a5d73
clang-format
0be16a48
Merge branch 'llvm:main' into copy-inout-dev
68722d62
Continue implementation of new MayNeedCopy()
dd9560a0
Assumed type check for contiguity
a8c4dcfa
Better void* standing for old implementation
be85c20b
clang-format
36a3049e
Tweaks to MayNeedCopyIn() to bring it closer to the old implementation
69d7ca05
Removed the old implementation (MayNeedCopyInOut) and switched to the…
f6bb3df9
Simplified MayNeedCopyOut()
fce3da47
Enhanced flang/test/Lower/force-temp.f90 to cover more cases
e36a534e
Merge branch 'llvm:main' into copy-inout-dev
6c5a1e2d
Merge branch 'llvm:main' into copy-inout-review
11c27fba
WIP: new API MayNeedCopy()
73e9db73
Merge branch 'copy-inout-dev' into copy-inout-review
4ab82fdc
Fixed bad merge
3baa7dad
Merge branch 'llvm:main' into copy-inout-dev
0050af6a
Yet another refactoring and logic update: use common class CopyInOutE…
3e281e49
Merge branch 'llvm:main' into copy-inout-dev
bd61c2a5
Merge branch 'llvm:main' into copy-inout-dev
335a463c
clang-format
b8e78b15
Merge branch 'llvm:main' into copy-inout-dev
9be6a3eb
Merge branch 'llvm:main' into copy-inout-dev
36993cd4
debugging (checking the old code again)
629b67d5
Fixed build issue with the old code
6138cc8d
Different copy-in/copy-out flag configuration
02eec4c1
Merge branch 'llvm:main' into copy-inout-dev
f5be38b7
Removed the old code
5ddac274
updated comment
b5ff5814
Merge branch 'llvm:main' into copy-inout-dev
6284e57c
Merge branch 'llvm:main' into copy-inout-review
def40894
Merge branch 'copy-inout-dev' into copy-inout-review
09e507a1
Code review feedback
e54a8d27
clang-format
d22d27c0
Merge branch 'llvm:main' into copy-inout-dev
84ce8ad5
force-temp.f90: add test for INTENT(OUT) dummy argument
45eaddc4
MayNeedCopy() simplification
fc283152
Further simplification of MayNeedCopy()
c7a740ca
Removed the old code
0d9302e3
Merge branch 'llvm:main' into copy-inout-dev
3bb10d51
Merge branch 'llvm:main' into copy-inout-review
395e4caf
Merge branch 'copy-inout-dev' into copy-inout-review
b7c35c9c
Removed DummyDataObject::IsArray() (no longer used)
d22d76f0
Merge branch 'copy-inout-dev' into copy-inout-review
991df0eb
Merge branch 'llvm:main' into copy-inout-dev
99aaa2b9
klausler
approved these changes
on 2025-08-26
Code review feedback
3c64f138
Merge branch 'llvm:main' into copy-inout-dev
0c5dc791
Merge branch 'llvm:main' into copy-inout-review
d79c5881
Merge branch 'copy-inout-dev' into copy-inout-review
8f768ca4
tblah
added this to the LLVM 21.x Release milestone 13 days ago
tblah
removed this from to the LLVM 21.x Release milestone 13 days ago
Assignees
No one assigned
Login to write a write a comment.
Login via GitHub