-
Notifications
You must be signed in to change notification settings - Fork 14.3k
[Flang][OpenMP] Move builtin .mod generation into runtimes #137828
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
Draft
Meinersbur
wants to merge
26
commits into
llvm:main
Choose a base branch
from
Meinersbur:flang_builtin-mods
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
26 commits
Select commit
Hold shift + click to select a range
68b09d9
Split FortranSemantics.a
Meinersbur 3c554c7
Do not emit numeric_storage_size into object file
Meinersbur 8989754
Merge branch 'main' into HEAD
Meinersbur 3e6f5e9
Flang build-mod dev edition
Meinersbur f695510
WIP: Cmake for .mod files
Meinersbur d760553
Compiling all .mod files
Meinersbur 412ec3b
build fix
Meinersbur 9f3b9d7
Progress getting builtin modules compile on Windows
Meinersbur 9d6578a
trying fixing tests
Meinersbur 7709739
Adapt to real 16
Meinersbur 2eb56e4
WIP
Meinersbur 8fc3ba2
CUDA-Fortran only
Meinersbur 299d18b
Leftovers
Meinersbur 36efc08
Merge branch 'main' into flang_builtin-mods
Meinersbur 6991afb
Leftovers
Meinersbur 91b77fd
Merge branch 'main' into flang_builtin-mods
Meinersbur 81cc58b
Windows dependencies
Meinersbur 900818e
multiple .mod files
Meinersbur 0bce9d9
Fix double mod files
Meinersbur 1909e61
Fix prescan
Meinersbur 1c3614c
Intrinsics search path
Meinersbur c69ac7d
Fix bbc search path
Meinersbur df38427
Add default intrinsics search path
Meinersbur 6438434
Fix intrinsic-module-path.f90
Meinersbur 8d482dd
Cleanup intrinsic-module-path.f90
Meinersbur 0eb8c3d
Milestone: all flang tests working again
Meinersbur 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -157,6 +157,9 @@ class ToolChain { | |
/// The list of toolchain specific path prefixes to search for programs. | ||
path_list ProgramPaths; | ||
|
||
path_list ModulePaths; | ||
path_list IntrinsicModulePaths; | ||
Comment on lines
+160
to
+161
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Format. |
||
|
||
mutable std::unique_ptr<Tool> Clang; | ||
mutable std::unique_ptr<Tool> Flang; | ||
mutable std::unique_ptr<Tool> Assemble; | ||
|
@@ -297,6 +300,12 @@ class ToolChain { | |
path_list &getProgramPaths() { return ProgramPaths; } | ||
const path_list &getProgramPaths() const { return ProgramPaths; } | ||
|
||
path_list &getModulePaths() { return ModulePaths; } | ||
const path_list &getModulePaths() const { return ModulePaths; } | ||
|
||
path_list &getIntrinsicModulePaths() { return IntrinsicModulePaths; } | ||
const path_list &getIntrinsicModulePaths() const { return IntrinsicModulePaths; } | ||
|
||
const MultilibSet &getMultilibs() const { return Multilibs; } | ||
|
||
const llvm::SmallVector<Multilib> &getSelectedMultilibs() const { | ||
|
@@ -546,6 +555,10 @@ class ToolChain { | |
// Returns target specific standard library include path if it exists. | ||
std::optional<std::string> getStdlibIncludePath() const; | ||
|
||
|
||
path_list getDefaultIntrinsicModulePaths() const; | ||
|
||
|
||
// Returns <ResourceDir>/lib/<OSName>/<arch> or <ResourceDir>/lib/<triple>. | ||
// This is used by runtimes (such as OpenMP) to find arch-specific libraries. | ||
virtual path_list getArchSpecificLibPaths() const; | ||
|
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.
Shouldn't this be implied by the user specifying it below?
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.
-fintrinsic-modules-path
is defined by gfortran, but flang's interpretation is incompatible (Even though they copy-pasted gfortran's help description).-fbuiltin-modules-path=
is the temporary replacement. At the end, I hope I will not need either of them, by fixing-fintrinsic-modules-path
.