Skip to content
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

Splitting up llvm as a compiler and llvm as a library #574

Open
chuckatkins opened this issue Oct 13, 2017 · 2 comments
Open

Splitting up llvm as a compiler and llvm as a library #574

chuckatkins opened this issue Oct 13, 2017 · 2 comments

Comments

@chuckatkins
Copy link

It's possible this has been already discussed and I may have missed it, so my apologies if that's the case.

I am very happy to see the llvm-based *lang compilers as an option now. However, as more codes in the HPC space are beginning to utilize llvm as a library, it would be helpful to separate the compilers as libraries to allow for libllvm to be made available with other compilers. Packaging wise, I think this could look something like this:

  • llvm5-compilers-ohpc
    • The LLVM compilers and std libs (clang, clang++, flag, llvm-ar, llvm-ld, etc.) but no actual llvm libraries. (maybe build with llvm libs statically linked into the tools)?
  • libllvm5-{gnu,gnu7,intel,llvm5}-ohpc
    • LLVM libraries that can be linked to by applications built with the associated compilers.

This would allow for things like module load intel libllvm5 to build something with the Intel compiler that uses LLVM as a library, also built by the Intel compiler.

@koomie
Copy link
Contributor

koomie commented Oct 17, 2017

I brought this up in today's TSC meeting and it was generally well received. I would not go for static linkage but think we can separate as you suggest and will queue for future work. Thanks for the suggestion.

@koomie koomie added this to the 1.3.4 milestone Oct 17, 2017
@chuckatkins
Copy link
Author

The suggestion of static linkage into the compilers is to avoid the circular dependency between llvm compilers and libllvm and allow the llvm compilers to be loaded by themselves. I made the suggestion because I know the clang/llvm build supports it for this very reason. I'm not particularly tied to the static linkage though. I'm mostly wanting to have an llvm library module I can load with the Intel compiler.

Thanks for taking a look!

@koomie koomie modified the milestones: 1.3.4, 1.3.5 Mar 19, 2018
@crbaird crbaird modified the milestones: 1.3.5, 1.3.6 Apr 12, 2018
@koomie koomie modified the milestones: 1.3.6, 1.3.7 Oct 24, 2018
@koomie koomie modified the milestones: 1.3.7, 1.3.8 Mar 8, 2019
@koomie koomie modified the milestones: 1.3.8, 2.0 Jun 10, 2019
@jcsiadal jcsiadal mentioned this issue Oct 15, 2019
@koomie koomie modified the milestones: 2.0RC1, 2.0 Jun 2, 2020
@koomie koomie modified the milestones: 2.0, 2.1 Oct 4, 2020
@koomie koomie removed this from the 2.1 milestone Apr 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants