xo-jit: clang18/llvm18 compile fixes (temp patches)

This commit is contained in:
Roland Conybeare 2025-05-07 20:47:22 -05:00
commit 9439f0f221
5 changed files with 14 additions and 9 deletions

View file

@ -31,9 +31,4 @@ add_subdirectory(utest)
# reminder: must come last: docs targets depend on all the other library/utest targets
add_subdirectory(docs)
# ----------------------------------------------------------------
# docs targets depend on all the other library/utest targets
#
#add_subdirectory(docs)
# end CMakeLists.txt

View file

@ -15,7 +15,7 @@
# include "llvm/ExecutionEngine/Orc/IRCompileLayer.h"
# include "llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h"
# include "llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h"
# include "llvm/ExecutionEngine/Orc/Shared/ExecutorSymbolDef.h"
# include "llvm/ExecutionEngine/Orc/Shared/ExecutorSymbolDef.h" // need llvm18
# include "llvm/ExecutionEngine/SectionMemoryManager.h"
# include "llvm/IR/DataLayout.h"
# include "llvm/IR/LLVMContext.h"

View file

@ -604,6 +604,8 @@ namespace xo {
return ir_builder.CreateUDiv(args[1], args[2]);
case llvmintrinsic::fp_add:
return ir_builder.CreateFAdd(args[1], args[2]);
case llvmintrinsic::fp_sub:
return ir_builder.CreateFSub(args[1], args[2]);
case llvmintrinsic::fp_mul:
return ir_builder.CreateFMul(args[1], args[2]);
case llvmintrinsic::fp_div:
@ -954,6 +956,11 @@ namespace xo {
llvm::IRBuilder<> & ir_builder)
{
switch(expr->extype()) {
case exprtype::define:
case exprtype::assign:
case exprtype::sequence:
case exprtype::convert:
break;
case exprtype::constant:
return this->codegen_constant(ConstantInterface::from(expr));
case exprtype::primitive:

View file

@ -10,7 +10,7 @@ namespace xo {
using std::cerr;
using std::endl;
activation_record::activation_record(const ref::rp<Lambda> & lm)
activation_record::activation_record(const rp<Lambda> & lm)
: lambda_{lm},
binding_v_(lm->n_arg())
{

View file

@ -205,9 +205,12 @@ namespace xo {
} /*struct_td_to_llvm_type*/
llvm::PointerType *
type2llvm::pointer_td_to_llvm_type(xo::ref::brw<LlvmContext> llvm_cx,
TypeDescr pointer_td)
type2llvm::pointer_td_to_llvm_type(xo::ref::brw<LlvmContext> llvm_cx
, TypeDescr pointer_td
)
{
(void)pointer_td;
assert(pointer_td->is_pointer());
#ifdef OBSOLETE