-
-
Notifications
You must be signed in to change notification settings - Fork 48
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
LLVM command line options integrations #153
Conversation
Julia's solution seems like a good alternative: https://docs.julialang.org/en/v1/manual/environment-variables/index.html#JULIA_LLVM_ARGS-1 |
@dipinhora thanks for the feedback, I'll put into the alternative section. |
And some rewording.
Thanks for this @mshockwave. We are going to discuss this on August 20th after trying to collect some feedback on the two options. |
I'd prefer option 3: either an environment variable or a command line argument passed in using quotes ( From what I can tell, the Julia environment variable implementation boils down to 1 line of code (https://github.com/JuliaLang/julia/blob/master/src/codegen.cpp#L7613) calling into an existing LLVM function (https://llvm.org/doxygen/namespacellvm_1_1cl.html#ae5a3364c95fc71013039ef5fd7aa7fe0). I'm guessing there's a similar function for parsing all LLVM arguments from a single string also. |
I like Dipin's suggestion. |
Actually I see no problem implementing all of the options, including option 3 proposed by @dipinhora . Option 1 and option 2 can exist at the same time. If user also supply environment variable in option 3, we just concat it before or after those which are supplied from command line. |
I'm not in favor of multiple ways to do this. I want 1 way to do it. Definitely not 2 or 3 possible ways. |
Looking at the https://docs.julialang.org/en/v1/manual/environment-variables/index.html#JULIA_LLVM_ARGS-1 link, I don't see anything there that tells me what the contents of the |
@slfritchie I think they simply use this API. Here is an usage example:
somewhere in
In short, we put exactly the same CLI option string as we passed to other LLVM tools into the environment variable, and we can choose our own environment variable name. |
Ok, we are down to vote time. 3 possibilities. Please vote as a reaction to this comment:
|
The voting on this will close on September 10. |
This has been accepted in principal. @mshockwave can you update the RFC to make option 2 as "the option" and have the others as alternatives that we didn't accept, but did exist? Once that is done, we can merge and officially accept. Thanks. |
- Mark option 2 as "the option" - Put all the other options into the alternative section
@SeanTAllen done. |
@mshockwave when accepted, an issue will be created on the ponyc that anyone can pick up and start working on. if you want to do the work, please do. |
This RFC has been accepted. |
@mshockwave there's an issue open for this now: ponylang/ponyc#3327 |
@SeanTAllen awesome! |
The proposed feature allows users of
ponyc
to supply LLVM-specific command line options fromponyc
's command line interface in dev builds (i.e. Debug build). This should make development ofponyc
easier by improving accessibilities of internal LLVM features during debugging and fine-grained tuning.from the Pony core team:
Everyone who has an opinion on Option 1 vs Option 2, please leave a reaction to this comment where you do:
hooray reaction if you favor option 1 and rocket reaction if you favor option 2.