Skip to content

Conversation

@lgritz
Copy link
Collaborator

@lgritz lgritz commented Aug 6, 2025

Drop support for llvm 11, 12, 13.

Simplify lots of conditional compilation.

With 14 as the minimum, the new pass manager and opaque pointers are both supported, so we are able to get rid of all code related to support of the legacy pass manager, as well as typed pointers. This is a lot of removed code!

When updating INSTALL.md, I noticed that we still had bold for "new minimum dependencies" left over from when we first released 1.14. So I'm unbolding them now, except for the ones we actually have changed for 1.15.

I had originally intended to pull the minimum to 15, but actually that makes it more difficult to continue CI testing vs VFX Platform 2022, since the ASWF-docker container for 2022 only support up to LLVM 14. And simultaneously, once I removed the code for legacy PM and typed pointers, there was, in comparison, only a small amount of additional simplification we could squeeze out of moving the minimum to llvm 15. So for OSL 1.15, we will have a minimum llvm 14, and then for OSL 1.16 when we would feel more comfortable droping all VFX Platform 2022 support and move to the 2023 containers as our oldest testing environment, we can bump to llvm 15.

Closes #2013

Drop support for llvm 11, 12, 13.

Simplify lots of conditional compilation.

With 14 as the minimum, the new pass manager and opaque pointers are
both supported, so we are able to get rid of all code related to
support of the legacy pass manager, as well as typed pointers. This
is a lot of removed code!

We also simplify the testing matrix as a result of having a less
expansive range of LLVM versions to consider.

When updating INSTALL.md, I noticed that we still had **bold** for
"new minimum dependencies" left over from when we first released 1.14.
So I'm unbolding them now, except for the ones we actually have
changed for 1.15.

I had originally intended to pull the minimum to 15, but actually that
makes it more difficult to continue CI testing vs VFX Platform 2022,
since the ASWF-docker container for 2022 only support up to LLVM 14.
And simultaneously, once I removed the code for legacy PM and typed
pointers, there was, in comparison, only a small amount of additional
simplification we could squeeze out of moving the minimum to llvm 15.
So for OSL 1.15, we will have a minimum llvm 14, and then for OSL 1.16
when we would feel more comfortable droping all VFX Platform 2022
support and move to the 2023 containers as our oldest testing
environment, we can bump to llvm 15.

Signed-off-by: Larry Gritz <[email protected]>
Copy link
Contributor

@fpsunflower fpsunflower left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice simplification!

@lgritz
Copy link
Collaborator Author

lgritz commented Aug 6, 2025

I was hoping that this PR was discarding enough code to make Chris pleased. ;-)

@fpsunflower
Copy link
Contributor

You had me at "removed code" 😄

@lgritz lgritz merged commit 04307c7 into AcademySoftwareFoundation:main Aug 11, 2025
25 checks passed
@lgritz lgritz deleted the lg-llvm14 branch August 11, 2025 14:37
@lgritz lgritz added the build / testing / port / CI Affecting the build system, tests, platform support, porting, or continuous integration. label Oct 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build / testing / port / CI Affecting the build system, tests, platform support, porting, or continuous integration.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Raise LLVM minimum to 14

2 participants