In case others wish to try it: llvm 20 on 9.12.2 passes my smoke tests. To have it work with ghc 9.12.2 you have to edit the configure file and change the line “LlvmMaxVersion=20” to “LlvmMaxVersion=21”, then run configure, then sudo make install. I have filed, #25915: ghc 9.12.2 won't use unsupported versions of llvm · Issues · Glasgow Haskell Compiler / GHC · GitLab, for the issue that you can no longer use unsupported llvm versions as you could in the past.