Closed elliottslaughter closed 3 years ago
Want to make sure this gets seen by anyone who might be relying on older LLVM versions. @jameshegarty @gilbo @Mx7f @ProfFan @aiverson @ErikMcClure @magnatelee @manopapad (and anyone else) please comment if you are actively using LLVM <= 3.7.
Possibly for Gong. Will try to check later today. Please pester me at will.
On Aug 19, 2020, at 9:13 AM, Elliott Slaughter notifications@github.com wrote:
Want to make sure this gets seen by anyone who might be relying on older LLVM versions. @jameshegarty @gilbo @Mx7f @ProfFan @aiverson @ErikMcClure @magnatelee @manopapad (and anyone else) please comment if you are actively using LLVM <= 3.7.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.
I am not using LLVM < 6 for anything at the moment and would very much like to reduce the maintenance burden.
I have removed any references to LLVM < 3.8 on Soleil.
All good on my end; anything that relies on old functionality is pegged to old releases anyways.
I use LLVM7.1 or higher.
Don’t let me be an obstacle. Michael’s comment obviated any of my concerns.
On Oct 11, 2020, at 1:57 PM, Erik McClure notifications@github.com wrote:
I use LLVM7.1 or higher.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.
I haven't heard any objections, so I'm moving this forward to phase 2. You can see the PR at https://github.com/terralang/terra/pull/470. For now this is just a formal deprecation, I anticipate to actually remove the code in about 6 months (maybe a little less, since I waited longer in the first phase of this issue).
The PR to finally remove this code is at #489. I should still do a release beforehand so that we have a definitive "last supported" point for this code before it's removed though.
I would like to propose deprecating LLVM versions <= 3.7.
This is a follow on to #353. Now that we've merged #454 I think our main reason for keeping LLVM 3.5 support is gone, and I don't think anyone seriously used 3.6 or 3.7 anyway. Version 3.5 is 6 years old, and 3.7 is 5 years old. With LLVM being such a fast-moving ecosystem, this would reduce our ongoing maintenance burden going forward. More specifically, I believe 3.5 is the last version that does not use MCJIT by default, so that's a code path we can delete after we're done with this.
I'm aware that there are Terra users currently on LLVM 3.8, so I'm not going to move the deprecation any further right now, but to any users who are reading this, please move to at least LLVM 6 because it would be nice to continue to trim our support burden over time. The next set of deprecations might be (say) a year out, LLVM <= 5.0. (But this is still tentative and not the subject of this proposal.)
What this means:
ifdef
s for LLVM <= 3.7 from the code base (and corresponding CI coverage). (Note to self: should probably do another beta immediately before this, so there is a canonical "last supported version" to point to.)Please reply here if you have any comments or concerns.