From fba4e706abdfb44c485b225ab0a4f56491097e85 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Sat, 25 Jul 2026 05:47:22 -0700 Subject: [PATCH] Prefer OptionalPassInfoMixin LLVM 23 prefers {Optional,Required}PassInfoMixin rather than PassInfoMixin and explicitly (or not) setting isRequired. In LLVM 24, PassInfoMixin will be moved to a detail namespace and thus will cause a compilation failure. --- core/iwasm/compilation/aot_llvm_extra.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core/iwasm/compilation/aot_llvm_extra.cpp b/core/iwasm/compilation/aot_llvm_extra.cpp index 3a3dc29a32..3d74e83944 100644 --- a/core/iwasm/compilation/aot_llvm_extra.cpp +++ b/core/iwasm/compilation/aot_llvm_extra.cpp @@ -86,7 +86,12 @@ LLVM_C_EXTERN_C_END ExitOnError ExitOnErr; -class ExpandMemoryOpPass : public PassInfoMixin +class ExpandMemoryOpPass +#if LLVM_VERSION_MAJOR >= 23 + : public OptionalPassInfoMixin +#else + : public PassInfoMixin +#endif { public: PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);