-
Notifications
You must be signed in to change notification settings - Fork 15.4k
[flang] Fixed regression in copy-in/copy-out #161259
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
eugeneepshteyn
merged 27 commits into
llvm:main
from
eugeneepshteyn:fix-poly-copy-in-out
Nov 12, 2025
Merged
Changes from 26 commits
Commits
Show all changes
27 commits
Select commit
Hold shift + click to select a range
632ed7b
[flang] Fixed regression in copy-in/copy-out
eugeneepshteyn 97cbeed
Merge branch 'llvm:main' into fix-poly-copy-in-out
eugeneepshteyn 9189ede
Restore HavePolymorphicDifferences(), but with different checks
eugeneepshteyn f572da2
Tweaked the change to ignore assumed type in polymorphic check
eugeneepshteyn 91f9e67
clang-format
eugeneepshteyn f52136b
Merge branch 'main' into fix-poly-copy-in-out
eugeneepshteyn d60edf8
Replaced s6() with an interface, since only care about the call
eugeneepshteyn 1e69803
New test to check for copy-in/out for potential slicing test
eugeneepshteyn 94f69ed
Tweaked test comment
eugeneepshteyn 42382e0
Merge branch 'llvm:main' into fix-poly-copy-in-out
eugeneepshteyn 5eff815
Begin the switch to ternary logic using std::optional<bool>. Renamed …
eugeneepshteyn 68bab54
New name: ActualArgNeedsCopy(). Reworked the implicit interface case
eugeneepshteyn 413718c
Continue refactoring. Extracted DummyNeedsContiguity() functionality …
eugeneepshteyn 329445c
Continue refactoring
eugeneepshteyn ad080f1
clang-format
eugeneepshteyn 8792ba4
Simplified check.HavePolymorphicDifferences(). Now seems to work
eugeneepshteyn 8fd9427
clang-format
eugeneepshteyn 4371a28
Merge branch 'llvm:main' into 1-copy-in-out-new-interface
eugeneepshteyn 23393fe
Merge branch 'llvm:main' into fix-poly-copy-in-out
eugeneepshteyn 1c202be
Merge branch '1-copy-in-out-new-interface' into fix-poly-copy-in-out
eugeneepshteyn 3423413
Merge branch 'llvm:main' into fix-poly-copy-in-out
eugeneepshteyn 80b2ccb
One code review comment (tests are still passing)
eugeneepshteyn 2cef85a
Attempting to address Jean's comments. Currently 58 regressions in LI…
eugeneepshteyn d93b7e2
Fixed the regressions
eugeneepshteyn 2abf0cb
Lower/force-temp.f90: added a test with IGNORE_TKR(C) and CONTIGUOUS
eugeneepshteyn 57d67d7
Code review feedback
eugeneepshteyn e85c4e9
Merge branch 'main' into fix-poly-copy-in-out
eugeneepshteyn File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
return !maybeContigActual.value_or(false);There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This would change the logic. With the current code, if there's no value, then the function returns
std::nullopt. With!maybeContigActual.value_or(false), the function would returntrueon no value.