From 27a42ffeb93d73fdcfc36901ced9223f86925a0b Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 19 Jun 2026 15:16:02 +1200 Subject: [PATCH 1/3] New version. --- VERSION.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION.txt b/VERSION.txt index 0db057113..8163e1ce6 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -0.20260618.0 +0.20260619.0 From efd6c7732b3404506c38015e4004828dc71ba9ad Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 19 Jun 2026 15:47:40 +1200 Subject: [PATCH 2/3] Compiler: use a more aggressive ORC-based JIT. --- src/misc/compiler.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/misc/compiler.cpp b/src/misc/compiler.cpp index 16e7b941a..c34d11d4c 100644 --- a/src/misc/compiler.cpp +++ b/src/misc/compiler.cpp @@ -334,7 +334,9 @@ extern double atanh(double); auto targetMachine {std::unique_ptr(target->createTargetMachine(module->getTargetTriple(), "generic", "", llvm::TargetOptions(), - llvm::Reloc::Static))}; + llvm::Reloc::Static, + std::nullopt, + llvm::CodeGenOptLevel::Aggressive))}; if (targetMachine == nullptr) { addError("A target machine could not be created."); @@ -368,9 +370,13 @@ extern double atanh(double); return true; #else - // Create an ORC-based JIT and keep track of it. + // Create an ORC-based JIT with aggressive code generation and keep track of it. - auto lljit {llvm::orc::LLJITBuilder().create()}; + auto jitTargetMachineBuilder {llvm::orc::JITTargetMachineBuilder(llvm::Triple(llvm::sys::getProcessTriple()))}; + + jitTargetMachineBuilder.setCodeGenOptLevel(llvm::CodeGenOptLevel::Aggressive); + + auto lljit {llvm::orc::LLJITBuilder().setJITTargetMachineBuilder(std::move(jitTargetMachineBuilder)).create()}; # ifndef CODE_COVERAGE_ENABLED if (!lljit) { From 147d39c1fec15b2e4e94ffea0d0dc669362c95af Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Fri, 19 Jun 2026 15:30:14 +1200 Subject: [PATCH 3/3] Compiler: generate faster code. --- src/misc/compiler.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/misc/compiler.cpp b/src/misc/compiler.cpp index c34d11d4c..9f1b78c98 100644 --- a/src/misc/compiler.cpp +++ b/src/misc/compiler.cpp @@ -101,7 +101,9 @@ bool Compiler::Impl::compile(const std::string &pCode) static const std::vector COMPILATION_ARGUMENTS {{"clang", "-fsyntax-only", "-O3", "-fno-math-errno", + "-fno-trapping-math", "-fno-stack-protector", + "-funroll-loops", DUMMY_FILE_NAME}}; std::unique_ptr compilation(driver.BuildCompilation(COMPILATION_ARGUMENTS));