From b495daaa00519d826d1031c490dca0cd5c3272df Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Wed, 26 Nov 2025 13:43:02 -0500 Subject: [PATCH] xo-expression: naming: {Primitive,Function}ExprInterface --- include/xo/jit/MachPipeline.hpp | 8 ++++---- include/xo/jit/type2llvm.hpp | 2 +- src/jit/MachPipeline.cpp | 12 ++++++------ 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/include/xo/jit/MachPipeline.hpp b/include/xo/jit/MachPipeline.hpp index a66fcb14..640f8264 100644 --- a/include/xo/jit/MachPipeline.hpp +++ b/include/xo/jit/MachPipeline.hpp @@ -15,7 +15,7 @@ #include "xo/expression/Expression.hpp" #include "xo/expression/ConstantInterface.hpp" -#include "xo/expression/PrimitiveInterface.hpp" +#include "xo/expression/PrimitiveExprInterface.hpp" #include "xo/expression/Apply.hpp" #include "xo/expression/Lambda.hpp" #include "xo/expression/Variable.hpp" @@ -110,7 +110,7 @@ namespace xo { **/ llvm::Type * codegen_type(TypeDescr td); llvm::Value * codegen_constant(bp expr); - llvm::Function * codegen_primitive(bp expr); + llvm::Function * codegen_primitive(bp expr); /** like @ref codegen_primitive , but create wrapper function that accepts (and discards) * environment pointer as first argument. @@ -118,7 +118,7 @@ namespace xo { * Implementation consists of tail call to natural primitive, that skips the unused * environment pointer **/ - llvm::Function * codegen_primitive_wrapper(bp expr, + llvm::Function * codegen_primitive_wrapper(bp expr, llvm::IRBuilder<> & ir_builder); /** Generate closure for invoking a primitive function. @@ -126,7 +126,7 @@ namespace xo { * to support function-pointer-like behavior for a target function * that may resolve to primitive-or-lambda at runtime **/ - llvm::Value * codegen_primitive_closure(bp expr, + llvm::Value * codegen_primitive_closure(bp expr, llvm::IRBuilder<> & ir_builder); llvm::Value * codegen_apply(bp expr, diff --git a/include/xo/jit/type2llvm.hpp b/include/xo/jit/type2llvm.hpp index 7801309f..5308b082 100644 --- a/include/xo/jit/type2llvm.hpp +++ b/include/xo/jit/type2llvm.hpp @@ -20,7 +20,7 @@ namespace xo { **/ struct type2llvm { public: - using FunctionInterface = xo::scm::FunctionInterface; + using FunctionInterface = xo::scm::FunctionExprInterface; using Lambda = xo::scm::Lambda; using TypeDescr = xo::reflect::TypeDescr; diff --git a/src/jit/MachPipeline.cpp b/src/jit/MachPipeline.cpp index b3cef9c3..6c7fb152 100644 --- a/src/jit/MachPipeline.cpp +++ b/src/jit/MachPipeline.cpp @@ -11,7 +11,7 @@ namespace xo { using xo::scm::Expression; using xo::scm::ConstantInterface; //using xo::scm::FunctionInterface; - using xo::scm::PrimitiveInterface; + using xo::scm::PrimitiveExprInterface; using xo::scm::Lambda; using xo::scm::Variable; using xo::scm::Apply; @@ -166,7 +166,7 @@ namespace xo { } llvm::Function * - MachPipeline::codegen_primitive(bp expr) + MachPipeline::codegen_primitive(bp expr) { constexpr bool c_debug_flag = true; @@ -251,7 +251,7 @@ namespace xo { } /*codegen_primitive*/ llvm::Function * - MachPipeline::codegen_primitive_wrapper(bp expr, + MachPipeline::codegen_primitive_wrapper(bp expr, llvm::IRBuilder<> & /*ir_builder*/) { constexpr bool c_debug_flag = true; @@ -369,7 +369,7 @@ namespace xo { } /*codegen_primitive_wrapper*/ llvm::Value * - MachPipeline::codegen_primitive_closure(bp expr, + MachPipeline::codegen_primitive_closure(bp expr, llvm::IRBuilder<> & ir_builder) { constexpr bool c_debug_flag = true; @@ -422,7 +422,7 @@ namespace xo { * allows substituting LLVM intrinsic */ if (apply->fn()->extype() == exprtype::primitive) { - auto pm = PrimitiveInterface::from(apply->fn()); + auto pm = PrimitiveExprInterface::from(apply->fn()); if (pm) { llvm_closure = this->codegen_primitive_closure(pm, ir_builder); @@ -979,7 +979,7 @@ namespace xo { case exprtype::constant: return this->codegen_constant(ConstantInterface::from(expr)); case exprtype::primitive: - return this->codegen_primitive_closure(PrimitiveInterface::from(expr), ir_builder); + return this->codegen_primitive_closure(PrimitiveExprInterface::from(expr), ir_builder); case exprtype::apply: return this->codegen_apply(Apply::from(expr), envptr, ir_builder); case exprtype::lambda: