xo-jit: prefer xo::bp spelling to xo::ref::brw
This commit is contained in:
parent
a4b2299537
commit
f774e6446f
6 changed files with 64 additions and 64 deletions
|
|
@ -72,7 +72,7 @@ namespace xo {
|
|||
// ----- access -----
|
||||
|
||||
llvm::Module * current_module() { return llvm_module_.get(); }
|
||||
ref::brw<LlvmContext> llvm_cx() { return llvm_cx_; }
|
||||
bp<LlvmContext> llvm_cx() { return llvm_cx_; }
|
||||
llvm::IRBuilder<> * llvm_current_ir_builder() { return llvm_toplevel_ir_builder_.get(); }
|
||||
|
||||
/** target triple = string describing target host for codegen **/
|
||||
|
|
@ -109,8 +109,8 @@ namespace xo {
|
|||
* @c llvm::Type instances are *immortal* (llvm interns them into opaque global lookup tables)
|
||||
**/
|
||||
llvm::Type * codegen_type(TypeDescr td);
|
||||
llvm::Value * codegen_constant(ref::brw<xo::ast::ConstantInterface> expr);
|
||||
llvm::Function * codegen_primitive(ref::brw<xo::ast::PrimitiveInterface> expr);
|
||||
llvm::Value * codegen_constant(bp<xo::ast::ConstantInterface> expr);
|
||||
llvm::Function * codegen_primitive(bp<xo::ast::PrimitiveInterface> 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(ref::brw<xo::ast::PrimitiveInterface> expr,
|
||||
llvm::Function * codegen_primitive_wrapper(bp<xo::ast::PrimitiveInterface> expr,
|
||||
llvm::IRBuilder<> & ir_builder);
|
||||
|
||||
/** Generate closure for invoking a primitive function.
|
||||
|
|
@ -126,17 +126,17 @@ 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(ref::brw<xo::ast::PrimitiveInterface> expr,
|
||||
llvm::Value * codegen_primitive_closure(bp<xo::ast::PrimitiveInterface> expr,
|
||||
llvm::IRBuilder<> & ir_builder);
|
||||
|
||||
llvm::Value * codegen_apply(ref::brw<xo::ast::Apply> expr,
|
||||
llvm::Value * codegen_apply(bp<xo::ast::Apply> expr,
|
||||
llvm::Value * envptr,
|
||||
llvm::IRBuilder<> & ir_builder);
|
||||
/* NOTE: codegen_lambda() needs to be reentrant too.
|
||||
* for example can have a lambda in apply position.
|
||||
*/
|
||||
llvm::Function * codegen_lambda_decl(ref::brw<xo::ast::Lambda> expr);
|
||||
llvm::Function * codegen_lambda_defn(ref::brw<xo::ast::Lambda> expr, llvm::IRBuilder<> & ir_builder);
|
||||
llvm::Function * codegen_lambda_decl(bp<xo::ast::Lambda> expr);
|
||||
llvm::Function * codegen_lambda_defn(bp<xo::ast::Lambda> expr, llvm::IRBuilder<> & ir_builder);
|
||||
/** Generate closure for invoking a lambda (user-defined function).
|
||||
* See @ref MachPipeline::codegen_apply for invocation
|
||||
* Same ABI as @ref MachPipeline::codegen_primitive_closure
|
||||
|
|
@ -147,21 +147,21 @@ namespace xo {
|
|||
* @ref MachPipeline::codegen_toplevel and friends are responsible for
|
||||
* assembling and propagating this.
|
||||
**/
|
||||
llvm::Value * codegen_lambda_closure(ref::brw<xo::ast::Lambda> lambda,
|
||||
llvm::Value * codegen_lambda_closure(bp<xo::ast::Lambda> lambda,
|
||||
llvm::Value * envptr,
|
||||
llvm::IRBuilder<> & ir_builder);
|
||||
llvm::Value * codegen_variable(ref::brw<xo::ast::Variable> var,
|
||||
llvm::Value * codegen_variable(bp<xo::ast::Variable> var,
|
||||
llvm::Value * envptr,
|
||||
llvm::IRBuilder<> & ir_builder);
|
||||
llvm::Value * codegen_ifexpr(ref::brw<xo::ast::IfExpr> ifexpr,
|
||||
llvm::Value * codegen_ifexpr(bp<xo::ast::IfExpr> ifexpr,
|
||||
llvm::Value * envptr,
|
||||
llvm::IRBuilder<> & ir_builder);
|
||||
|
||||
llvm::Value * codegen(ref::brw<Expression> expr,
|
||||
llvm::Value * codegen(bp<Expression> expr,
|
||||
llvm::Value * envptr,
|
||||
llvm::IRBuilder<> & ir_builder);
|
||||
|
||||
llvm::Value * codegen_toplevel(ref::brw<Expression> expr);
|
||||
llvm::Value * codegen_toplevel(bp<Expression> expr);
|
||||
|
||||
// ----- jit online execution -----
|
||||
|
||||
|
|
@ -190,7 +190,7 @@ namespace xo {
|
|||
static void init_once();
|
||||
|
||||
/** helper function. find all lambda expressions in AST @p expr **/
|
||||
std::vector<ref::brw<Lambda>> find_lambdas(ref::brw<Expression> expr) const;
|
||||
std::vector<bp<Lambda>> find_lambdas(bp<Expression> expr) const;
|
||||
|
||||
public:
|
||||
/** codegen helper for a user-defined function.
|
||||
|
|
|
|||
|
|
@ -133,13 +133,13 @@ namespace xo {
|
|||
const runtime_binding_detail & binding);
|
||||
|
||||
#ifdef NOT_USING
|
||||
llvm::AllocaInst * create_runtime_localenv_alloca(ref::brw<LlvmContext> llvm_cx,
|
||||
llvm::AllocaInst * create_runtime_localenv_alloca(bp<LlvmContext> llvm_cx,
|
||||
//const llvm::DataLayout & data_layout,
|
||||
llvm::Function * llvm_fn,
|
||||
llvm::IRBuilder<> & fn_ir_builder);
|
||||
#endif
|
||||
|
||||
runtime_binding_detail create_entry_block_alloca(ref::brw<LlvmContext> llvm_cx,
|
||||
runtime_binding_detail create_entry_block_alloca(bp<LlvmContext> llvm_cx,
|
||||
//const llvm::DataLayout & data_layout,
|
||||
llvm::Function * llvm_fn,
|
||||
llvm::IRBuilder<> & fn_ir_builder,
|
||||
|
|
@ -161,7 +161,7 @@ namespace xo {
|
|||
* then use the localenv copy exclusively.
|
||||
* @return value representing localenv slot address
|
||||
**/
|
||||
llvm::Value * runtime_localenv_slot_addr(ref::brw<LlvmContext> llvm_cx,
|
||||
llvm::Value * runtime_localenv_slot_addr(bp<LlvmContext> llvm_cx,
|
||||
llvm::StructType * localenv_llvm_type,
|
||||
llvm::AllocaInst * localenv_alloca,
|
||||
int i_slot,
|
||||
|
|
@ -177,7 +177,7 @@ namespace xo {
|
|||
* - for stackonly parameters, use individual @c llvm::AllocaInst instances
|
||||
* - create custom @c llvm::StructType for captured parameters, also initially stack-allocated
|
||||
**/
|
||||
bool bind_locals(ref::brw<LlvmContext> llvm_cx,
|
||||
bool bind_locals(bp<LlvmContext> llvm_cx,
|
||||
//const llvm::DataLayout & data_layout,
|
||||
llvm::Function * llvm_fn,
|
||||
llvm::IRBuilder<> & ir_builder);
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ namespace xo {
|
|||
/** establish suitable llvm representation for a c++ type (described by @p td)
|
||||
* llvm types are unique'd, at least within @p llvm_cx
|
||||
**/
|
||||
static llvm::Type * td_to_llvm_type(xo::ref::brw<LlvmContext> llvm_cx,
|
||||
static llvm::Type * td_to_llvm_type(xo::bp<LlvmContext> llvm_cx,
|
||||
TypeDescr td);
|
||||
|
||||
/** establish llvm representation for a function type
|
||||
|
|
@ -41,7 +41,7 @@ namespace xo {
|
|||
* to either {primitive functions, functions-requiring-closures},
|
||||
* with choice deferred until runtime
|
||||
**/
|
||||
static llvm::FunctionType * function_td_to_lvtype(xo::ref::brw<LlvmContext> llvm_cx,
|
||||
static llvm::FunctionType * function_td_to_lvtype(xo::bp<LlvmContext> llvm_cx,
|
||||
TypeDescr fn_td,
|
||||
bool wrapper_flag = false);
|
||||
|
||||
|
|
@ -55,7 +55,7 @@ namespace xo {
|
|||
* to either {primitive functions, functions-requiring-closures},
|
||||
* with choice deferred until runtime
|
||||
**/
|
||||
static llvm::PointerType * function_td_to_llvm_fnptr_type(xo::ref::brw<LlvmContext> llvm_cx,
|
||||
static llvm::PointerType * function_td_to_llvm_fnptr_type(xo::bp<LlvmContext> llvm_cx,
|
||||
TypeDescr fn_td,
|
||||
bool wrapper_flag);
|
||||
|
||||
|
|
@ -79,8 +79,8 @@ namespace xo {
|
|||
* (primitive or lambda) with name @c foo
|
||||
**/
|
||||
static llvm::StructType *
|
||||
create_closureapi_lvtype(xo::ref::brw<LlvmContext> llvm_cx,
|
||||
xo::ref::brw<FunctionInterface> fn);
|
||||
create_closureapi_lvtype(xo::bp<LlvmContext> llvm_cx,
|
||||
xo::bp<FunctionInterface> fn);
|
||||
|
||||
/** establish llvm abstract representation for a closure:
|
||||
* struct with
|
||||
|
|
@ -121,7 +121,7 @@ namespace xo {
|
|||
* localenv.
|
||||
**/
|
||||
static llvm::StructType *
|
||||
function_td_to_closureapi_lvtype(xo::ref::brw<LlvmContext> llvm_cx,
|
||||
function_td_to_closureapi_lvtype(xo::bp<LlvmContext> llvm_cx,
|
||||
TypeDescr fn_td,
|
||||
const std::string & hint_name);
|
||||
|
||||
|
|
@ -150,8 +150,8 @@ namespace xo {
|
|||
* @return struct type. typename will be @c e.foo for lambda with name @c foo
|
||||
**/
|
||||
static llvm::StructType *
|
||||
create_localenv_llvm_type(xo::ref::brw<LlvmContext> llvm_cx,
|
||||
xo::ref::brw<Lambda> lambda);
|
||||
create_localenv_llvm_type(xo::bp<LlvmContext> llvm_cx,
|
||||
xo::bp<Lambda> lambda);
|
||||
|
||||
/** establish llvm rep'n for a pointer to an abstract local environment:
|
||||
*
|
||||
|
|
@ -169,7 +169,7 @@ namespace xo {
|
|||
* +-------+
|
||||
**/
|
||||
static llvm::PointerType *
|
||||
env_api_llvm_ptr_type(xo::ref::brw<LlvmContext> llvm_cx);
|
||||
env_api_llvm_ptr_type(xo::bp<LlvmContext> llvm_cx);
|
||||
|
||||
/** function type:
|
||||
* @code
|
||||
|
|
@ -184,18 +184,18 @@ namespace xo {
|
|||
* returns function-pointer type
|
||||
**/
|
||||
static llvm::PointerType *
|
||||
require_localenv_unwind_llvm_fnptr_type(xo::ref::brw<LlvmContext> llvm_cx,
|
||||
require_localenv_unwind_llvm_fnptr_type(xo::bp<LlvmContext> llvm_cx,
|
||||
llvm::PointerType * hint_envptr_llvm_type = nullptr);
|
||||
|
||||
private:
|
||||
|
||||
/** establish llvm representation for a struct type described by @p struct_td
|
||||
**/
|
||||
static llvm::StructType * struct_td_to_llvm_type(xo::ref::brw<LlvmContext> llvm_cx,
|
||||
static llvm::StructType * struct_td_to_llvm_type(xo::bp<LlvmContext> llvm_cx,
|
||||
TypeDescr struct_td);
|
||||
|
||||
/** establish llvm representation for a pointer type described by @p pointer_td **/
|
||||
static llvm::PointerType * pointer_td_to_llvm_type(xo::ref::brw<LlvmContext> llvm_cx,
|
||||
static llvm::PointerType * pointer_td_to_llvm_type(xo::bp<LlvmContext> llvm_cx,
|
||||
TypeDescr pointer_td);
|
||||
|
||||
/** establish llvm abstract representation for a local environment:
|
||||
|
|
@ -219,7 +219,7 @@ namespace xo {
|
|||
* @see type2llvm::function_td_to_llvm_closure_type
|
||||
**/
|
||||
static llvm::StructType *
|
||||
env_api_llvm_type(xo::ref::brw<LlvmContext> llvm_cx);
|
||||
env_api_llvm_type(xo::bp<LlvmContext> llvm_cx);
|
||||
|
||||
}; /*type2llvm*/
|
||||
} /*namespace jit*/
|
||||
|
|
|
|||
|
|
@ -138,7 +138,7 @@ namespace xo {
|
|||
}
|
||||
|
||||
llvm::Value *
|
||||
MachPipeline::codegen_constant(ref::brw<ConstantInterface> expr)
|
||||
MachPipeline::codegen_constant(bp<ConstantInterface> expr)
|
||||
{
|
||||
TypeDescr td = expr->value_td();
|
||||
|
||||
|
|
@ -165,7 +165,7 @@ namespace xo {
|
|||
}
|
||||
|
||||
llvm::Function *
|
||||
MachPipeline::codegen_primitive(ref::brw<PrimitiveInterface> expr)
|
||||
MachPipeline::codegen_primitive(bp<PrimitiveInterface> expr)
|
||||
{
|
||||
constexpr bool c_debug_flag = true;
|
||||
|
||||
|
|
@ -250,7 +250,7 @@ namespace xo {
|
|||
} /*codegen_primitive*/
|
||||
|
||||
llvm::Function *
|
||||
MachPipeline::codegen_primitive_wrapper(ref::brw<PrimitiveInterface> expr,
|
||||
MachPipeline::codegen_primitive_wrapper(bp<PrimitiveInterface> expr,
|
||||
llvm::IRBuilder<> & /*ir_builder*/)
|
||||
{
|
||||
constexpr bool c_debug_flag = true;
|
||||
|
|
@ -368,7 +368,7 @@ namespace xo {
|
|||
} /*codegen_primitive_wrapper*/
|
||||
|
||||
llvm::Value *
|
||||
MachPipeline::codegen_primitive_closure(ref::brw<xo::ast::PrimitiveInterface> expr,
|
||||
MachPipeline::codegen_primitive_closure(bp<xo::ast::PrimitiveInterface> expr,
|
||||
llvm::IRBuilder<> & ir_builder)
|
||||
{
|
||||
constexpr bool c_debug_flag = true;
|
||||
|
|
@ -391,7 +391,7 @@ namespace xo {
|
|||
} /*codegen_primitive_closure*/
|
||||
|
||||
llvm::Value *
|
||||
MachPipeline::codegen_apply(ref::brw<Apply> apply,
|
||||
MachPipeline::codegen_apply(bp<Apply> apply,
|
||||
llvm::Value * envptr,
|
||||
llvm::IRBuilder<> & ir_builder)
|
||||
{
|
||||
|
|
@ -632,13 +632,13 @@ namespace xo {
|
|||
|
||||
} /*codegen_apply*/
|
||||
|
||||
std::vector<ref::brw<Lambda>>
|
||||
MachPipeline::find_lambdas(ref::brw<Expression> expr) const
|
||||
std::vector<bp<Lambda>>
|
||||
MachPipeline::find_lambdas(bp<Expression> expr) const
|
||||
{
|
||||
std::vector<ref::brw<Lambda>> retval_v;
|
||||
std::vector<bp<Lambda>> retval_v;
|
||||
|
||||
expr->visit_preorder(
|
||||
[&retval_v](ref::brw<Expression> x)
|
||||
[&retval_v](bp<Expression> x)
|
||||
{
|
||||
if (x->extype() == exprtype::lambda) {
|
||||
retval_v.push_back(Lambda::from(x));
|
||||
|
|
@ -649,7 +649,7 @@ namespace xo {
|
|||
} /*find_lambdas*/
|
||||
|
||||
llvm::Function *
|
||||
MachPipeline::codegen_lambda_decl(ref::brw<Lambda> lambda)
|
||||
MachPipeline::codegen_lambda_decl(bp<Lambda> lambda)
|
||||
{
|
||||
constexpr bool c_debug_flag = true;
|
||||
|
||||
|
|
@ -709,7 +709,7 @@ namespace xo {
|
|||
} /*codegen_lambda_decl*/
|
||||
|
||||
llvm::Function *
|
||||
MachPipeline::codegen_lambda_defn(ref::brw<Lambda> lambda,
|
||||
MachPipeline::codegen_lambda_defn(bp<Lambda> lambda,
|
||||
llvm::IRBuilder<> & /*ir_builder*/)
|
||||
{
|
||||
constexpr bool c_debug_flag = true;
|
||||
|
|
@ -810,7 +810,7 @@ namespace xo {
|
|||
} /*codegen_lambda_defn*/
|
||||
|
||||
llvm::Value *
|
||||
MachPipeline::codegen_lambda_closure(ref::brw<Lambda> lambda,
|
||||
MachPipeline::codegen_lambda_closure(bp<Lambda> lambda,
|
||||
llvm::Value * envptr,
|
||||
llvm::IRBuilder<> & ir_builder)
|
||||
{
|
||||
|
|
@ -837,7 +837,7 @@ namespace xo {
|
|||
} /*codegen_lambda_closure*/
|
||||
|
||||
llvm::Value *
|
||||
MachPipeline::codegen_variable(ref::brw<Variable> var,
|
||||
MachPipeline::codegen_variable(bp<Variable> var,
|
||||
llvm::Value * /*envptr*/,
|
||||
llvm::IRBuilder<> & ir_builder)
|
||||
{
|
||||
|
|
@ -865,7 +865,7 @@ namespace xo {
|
|||
} /*codegen_variable*/
|
||||
|
||||
llvm::Value *
|
||||
MachPipeline::codegen_ifexpr(ref::brw<IfExpr> expr,
|
||||
MachPipeline::codegen_ifexpr(bp<IfExpr> expr,
|
||||
llvm::Value * envptr,
|
||||
llvm::IRBuilder<> & ir_builder)
|
||||
{
|
||||
|
|
@ -951,7 +951,7 @@ namespace xo {
|
|||
} /*codegen_ifexpr*/
|
||||
|
||||
llvm::Value *
|
||||
MachPipeline::codegen(ref::brw<Expression> expr,
|
||||
MachPipeline::codegen(bp<Expression> expr,
|
||||
llvm::Value * envptr,
|
||||
llvm::IRBuilder<> & ir_builder)
|
||||
{
|
||||
|
|
@ -988,7 +988,7 @@ namespace xo {
|
|||
} /*codegen*/
|
||||
|
||||
llvm::Value *
|
||||
MachPipeline::codegen_toplevel(ref::brw<Expression> expr)
|
||||
MachPipeline::codegen_toplevel(bp<Expression> expr)
|
||||
{
|
||||
/* - Pass 1.
|
||||
* get set of lambdas.
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ namespace xo {
|
|||
|
||||
/* in kaleidoscope7.cpp: CreateEntryBlockAlloca */
|
||||
runtime_binding_detail
|
||||
activation_record::create_entry_block_alloca(ref::brw<LlvmContext> llvm_cx,
|
||||
activation_record::create_entry_block_alloca(bp<LlvmContext> llvm_cx,
|
||||
//const llvm::DataLayout & data_layout,
|
||||
llvm::Function * llvm_fn,
|
||||
llvm::IRBuilder<> & fn_ir_builder,
|
||||
|
|
@ -129,7 +129,7 @@ namespace xo {
|
|||
|
||||
#ifdef NOT_USING
|
||||
llvm::AllocaInst *
|
||||
activation_record::create_runtime_localenv_alloca(ref::brw<LlvmContext> llvm_cx,
|
||||
activation_record::create_runtime_localenv_alloca(bp<LlvmContext> llvm_cx,
|
||||
//const llvm::DataLayout & data_layout,
|
||||
llvm::Function * llvm_fn,
|
||||
llvm::IRBuilder<> & ir_builder)
|
||||
|
|
@ -161,7 +161,7 @@ namespace xo {
|
|||
#endif
|
||||
|
||||
llvm::Value *
|
||||
activation_record::runtime_localenv_slot_addr(ref::brw<LlvmContext> llvm_cx,
|
||||
activation_record::runtime_localenv_slot_addr(bp<LlvmContext> llvm_cx,
|
||||
llvm::StructType * localenv_llvm_type,
|
||||
llvm::AllocaInst * localenv_alloca,
|
||||
int i_slot,
|
||||
|
|
@ -195,7 +195,7 @@ namespace xo {
|
|||
} /*runtime_localenv_slot_addr*/
|
||||
|
||||
bool
|
||||
activation_record::bind_locals(ref::brw<LlvmContext> llvm_cx,
|
||||
activation_record::bind_locals(bp<LlvmContext> llvm_cx,
|
||||
//const llvm::DataLayout & data_layout,
|
||||
llvm::Function * llvm_fn,
|
||||
llvm::IRBuilder<> & ir_builder)
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ namespace xo {
|
|||
**/
|
||||
|
||||
llvm::Type *
|
||||
type2llvm::td_to_llvm_type(xo::ref::brw<LlvmContext> llvm_cx, TypeDescr td) {
|
||||
type2llvm::td_to_llvm_type(xo::bp<LlvmContext> llvm_cx, TypeDescr td) {
|
||||
auto & llvm_cx_ref = llvm_cx->llvm_cx_ref();
|
||||
|
||||
if (td->is_function()) {
|
||||
|
|
@ -58,7 +58,7 @@ namespace xo {
|
|||
* that represented by @p fn_td
|
||||
**/
|
||||
llvm::FunctionType *
|
||||
type2llvm::function_td_to_lvtype(xo::ref::brw<LlvmContext> llvm_cx,
|
||||
type2llvm::function_td_to_lvtype(xo::bp<LlvmContext> llvm_cx,
|
||||
TypeDescr fn_td,
|
||||
bool wrapper_flag)
|
||||
{
|
||||
|
|
@ -118,7 +118,7 @@ namespace xo {
|
|||
} /*function_td_to_llvm_type*/
|
||||
|
||||
llvm::PointerType *
|
||||
type2llvm::function_td_to_llvm_fnptr_type(xo::ref::brw<LlvmContext> llvm_cx,
|
||||
type2llvm::function_td_to_llvm_fnptr_type(xo::bp<LlvmContext> llvm_cx,
|
||||
TypeDescr /*fn_td*/,
|
||||
bool /*wrapper_flag*/)
|
||||
{
|
||||
|
|
@ -144,7 +144,7 @@ namespace xo {
|
|||
* Generate llvm::Type correspoinding to a TypeDescr for a struct.
|
||||
**/
|
||||
llvm::StructType *
|
||||
type2llvm::struct_td_to_llvm_type(xo::ref::brw<LlvmContext> llvm_cx,
|
||||
type2llvm::struct_td_to_llvm_type(xo::bp<LlvmContext> llvm_cx,
|
||||
TypeDescr struct_td)
|
||||
{
|
||||
// see
|
||||
|
|
@ -205,7 +205,7 @@ namespace xo {
|
|||
} /*struct_td_to_llvm_type*/
|
||||
|
||||
llvm::PointerType *
|
||||
type2llvm::pointer_td_to_llvm_type(xo::ref::brw<LlvmContext> llvm_cx
|
||||
type2llvm::pointer_td_to_llvm_type(xo::bp<LlvmContext> llvm_cx
|
||||
, TypeDescr pointer_td
|
||||
)
|
||||
{
|
||||
|
|
@ -229,7 +229,7 @@ namespace xo {
|
|||
} /*pointer_td_llvm_type*/
|
||||
|
||||
llvm::PointerType *
|
||||
type2llvm::require_localenv_unwind_llvm_fnptr_type(xo::ref::brw<LlvmContext> llvm_cx,
|
||||
type2llvm::require_localenv_unwind_llvm_fnptr_type(xo::bp<LlvmContext> llvm_cx,
|
||||
llvm::PointerType * /*envptr_llvm_type*/)
|
||||
{
|
||||
#ifdef OBSOLETE
|
||||
|
|
@ -265,7 +265,7 @@ namespace xo {
|
|||
} /*require_localenv_unwind_llvm_fnptr_type*/
|
||||
|
||||
llvm::StructType *
|
||||
type2llvm::env_api_llvm_type(xo::ref::brw<LlvmContext> llvm_cx)
|
||||
type2llvm::env_api_llvm_type(xo::bp<LlvmContext> llvm_cx)
|
||||
{
|
||||
/* _env_api: base type for a local environment */
|
||||
llvm::StructType * env_llvm_type
|
||||
|
|
@ -293,7 +293,7 @@ namespace xo {
|
|||
} /*env_api_llvm_type*/
|
||||
|
||||
llvm::PointerType *
|
||||
type2llvm::env_api_llvm_ptr_type(xo::ref::brw<LlvmContext> llvm_cx)
|
||||
type2llvm::env_api_llvm_ptr_type(xo::bp<LlvmContext> llvm_cx)
|
||||
{
|
||||
#ifdef OBSOLETE
|
||||
llvm::StructType * env_llvm_type = env_api_llvm_type(llvm_cx);
|
||||
|
|
@ -303,8 +303,8 @@ namespace xo {
|
|||
} /*env_api_llvm_ptr_type*/
|
||||
|
||||
llvm::StructType *
|
||||
type2llvm::create_closureapi_lvtype(xo::ref::brw<LlvmContext> llvm_cx,
|
||||
xo::ref::brw<FunctionInterface> fn)
|
||||
type2llvm::create_closureapi_lvtype(xo::bp<LlvmContext> llvm_cx,
|
||||
xo::bp<FunctionInterface> fn)
|
||||
{
|
||||
constexpr const char * c_prefix = "c.";
|
||||
|
||||
|
|
@ -317,7 +317,7 @@ namespace xo {
|
|||
} /*create_closureapi_lvtype*/
|
||||
|
||||
llvm::StructType *
|
||||
type2llvm::function_td_to_closureapi_lvtype(xo::ref::brw<LlvmContext> llvm_cx,
|
||||
type2llvm::function_td_to_closureapi_lvtype(xo::bp<LlvmContext> llvm_cx,
|
||||
TypeDescr fn_td,
|
||||
const std::string & hint_name)
|
||||
{
|
||||
|
|
@ -368,8 +368,8 @@ namespace xo {
|
|||
} /*function_td_to_closureapi_lvtype*/
|
||||
|
||||
llvm::StructType *
|
||||
type2llvm::create_localenv_llvm_type(xo::ref::brw<LlvmContext> llvm_cx,
|
||||
xo::ref::brw<Lambda> lambda)
|
||||
type2llvm::create_localenv_llvm_type(xo::bp<LlvmContext> llvm_cx,
|
||||
xo::bp<Lambda> lambda)
|
||||
{
|
||||
constexpr const char * c_prefix = "e.";
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue