core/builtins: Add llvm_intrinsics prefix
This commit is contained in:
parent
f9ee6f1794
commit
eeaf3ed13d
|
@ -4,7 +4,7 @@ use crate::{
|
|||
classes::{ArrayLikeValue, NDArrayValue, RangeValue, TypedArrayLikeAccessor},
|
||||
expr::destructure_range,
|
||||
irrt::*,
|
||||
llvm_intrinsics::*,
|
||||
llvm_intrinsics,
|
||||
numpy::*,
|
||||
stmt::exn_constructor,
|
||||
},
|
||||
|
@ -1050,7 +1050,7 @@ pub fn get_builtins(primitives: &mut (PrimitiveStore, Unifier)) -> BuiltinInfo {
|
|||
.to_basic_value_enum(ctx, generator, ctx.primitives.float)?
|
||||
.into_float_value();
|
||||
|
||||
let val = call_float_round(ctx, arg, None);
|
||||
let val = llvm_intrinsics::call_float_round(ctx, arg, None);
|
||||
let val_toint = ctx.builder
|
||||
.build_float_to_signed_int(val, llvm_i32, "round")
|
||||
.unwrap();
|
||||
|
@ -1070,7 +1070,7 @@ pub fn get_builtins(primitives: &mut (PrimitiveStore, Unifier)) -> BuiltinInfo {
|
|||
.to_basic_value_enum(ctx, generator, ctx.primitives.float)?
|
||||
.into_float_value();
|
||||
|
||||
let val = call_float_round(ctx, arg, None);
|
||||
let val = llvm_intrinsics::call_float_round(ctx, arg, None);
|
||||
let val_toint = ctx.builder
|
||||
.build_float_to_signed_int(val, llvm_i64, "round")
|
||||
.unwrap();
|
||||
|
@ -1088,7 +1088,7 @@ pub fn get_builtins(primitives: &mut (PrimitiveStore, Unifier)) -> BuiltinInfo {
|
|||
.to_basic_value_enum(ctx, generator, ctx.primitives.float)?
|
||||
.into_float_value();
|
||||
|
||||
let val = call_float_roundeven(ctx, arg, None);
|
||||
let val = llvm_intrinsics::call_float_roundeven(ctx, arg, None);
|
||||
|
||||
Ok(Some(val.into()))
|
||||
}),
|
||||
|
@ -1297,7 +1297,7 @@ pub fn get_builtins(primitives: &mut (PrimitiveStore, Unifier)) -> BuiltinInfo {
|
|||
.to_basic_value_enum(ctx, generator, ctx.primitives.float)?
|
||||
.into_float_value();
|
||||
|
||||
let val = call_float_floor(ctx, arg, None);
|
||||
let val = llvm_intrinsics::call_float_floor(ctx, arg, None);
|
||||
let val_toint = ctx.builder
|
||||
.build_float_to_signed_int(val, llvm_i32, "floor")
|
||||
.unwrap();
|
||||
|
@ -1317,7 +1317,7 @@ pub fn get_builtins(primitives: &mut (PrimitiveStore, Unifier)) -> BuiltinInfo {
|
|||
.to_basic_value_enum(ctx, generator, ctx.primitives.float)?
|
||||
.into_float_value();
|
||||
|
||||
let val = call_float_floor(ctx, arg, None);
|
||||
let val = llvm_intrinsics::call_float_floor(ctx, arg, None);
|
||||
let val_toint = ctx.builder
|
||||
.build_float_to_signed_int(val, llvm_i64, "floor")
|
||||
.unwrap();
|
||||
|
@ -1335,7 +1335,7 @@ pub fn get_builtins(primitives: &mut (PrimitiveStore, Unifier)) -> BuiltinInfo {
|
|||
.to_basic_value_enum(ctx, generator, ctx.primitives.float)?
|
||||
.into_float_value();
|
||||
|
||||
let val = call_float_floor(ctx, arg, None);
|
||||
let val = llvm_intrinsics::call_float_floor(ctx, arg, None);
|
||||
Ok(Some(val.into()))
|
||||
}),
|
||||
),
|
||||
|
@ -1352,7 +1352,7 @@ pub fn get_builtins(primitives: &mut (PrimitiveStore, Unifier)) -> BuiltinInfo {
|
|||
.to_basic_value_enum(ctx, generator, ctx.primitives.float)?
|
||||
.into_float_value();
|
||||
|
||||
let val = call_float_ceil(ctx, arg, None);
|
||||
let val = llvm_intrinsics::call_float_ceil(ctx, arg, None);
|
||||
let val_toint = ctx.builder
|
||||
.build_float_to_signed_int(val, llvm_i32, "ceil")
|
||||
.unwrap();
|
||||
|
@ -1372,7 +1372,7 @@ pub fn get_builtins(primitives: &mut (PrimitiveStore, Unifier)) -> BuiltinInfo {
|
|||
.to_basic_value_enum(ctx, generator, ctx.primitives.float)?
|
||||
.into_float_value();
|
||||
|
||||
let val = call_float_ceil(ctx, arg, None);
|
||||
let val = llvm_intrinsics::call_float_ceil(ctx, arg, None);
|
||||
let val_toint = ctx.builder
|
||||
.build_float_to_signed_int(val, llvm_i64, "ceil")
|
||||
.unwrap();
|
||||
|
@ -1390,7 +1390,7 @@ pub fn get_builtins(primitives: &mut (PrimitiveStore, Unifier)) -> BuiltinInfo {
|
|||
.to_basic_value_enum(ctx, generator, ctx.primitives.float)?
|
||||
.into_float_value();
|
||||
|
||||
let val = call_float_ceil(ctx, arg, None);
|
||||
let val = llvm_intrinsics::call_float_ceil(ctx, arg, None);
|
||||
Ok(Some(val.into()))
|
||||
}),
|
||||
),
|
||||
|
@ -1539,21 +1539,21 @@ pub fn get_builtins(primitives: &mut (PrimitiveStore, Unifier)) -> BuiltinInfo {
|
|||
unreachable!()
|
||||
}
|
||||
let val: BasicValueEnum = if [boolean, uint32, uint64].iter().any(|t| is_type(n_ty, *t)) {
|
||||
call_int_umin(
|
||||
llvm_intrinsics::call_int_umin(
|
||||
ctx,
|
||||
m_val.into_int_value(),
|
||||
n_val.into_int_value(),
|
||||
Some("min"),
|
||||
).into()
|
||||
} else if [int32, int64].iter().any(|t| is_type(n_ty, *t)) {
|
||||
call_int_smin(
|
||||
llvm_intrinsics::call_int_smin(
|
||||
ctx,
|
||||
m_val.into_int_value(),
|
||||
n_val.into_int_value(),
|
||||
Some("min"),
|
||||
).into()
|
||||
} else if is_type(m_ty, n_ty) && is_type(n_ty, float) {
|
||||
call_float_minnum(
|
||||
llvm_intrinsics::call_float_minnum(
|
||||
ctx,
|
||||
m_val.into_float_value(),
|
||||
n_val.into_float_value(),
|
||||
|
@ -1599,21 +1599,21 @@ pub fn get_builtins(primitives: &mut (PrimitiveStore, Unifier)) -> BuiltinInfo {
|
|||
unreachable!()
|
||||
}
|
||||
let val: BasicValueEnum = if [boolean, uint32, uint64].iter().any(|t| is_type(n_ty, *t)) {
|
||||
call_int_umax(
|
||||
llvm_intrinsics::call_int_umax(
|
||||
ctx,
|
||||
m_val.into_int_value(),
|
||||
n_val.into_int_value(),
|
||||
Some("max"),
|
||||
).into()
|
||||
} else if [int32, int64].iter().any(|t| is_type(n_ty, *t)) {
|
||||
call_int_smax(
|
||||
llvm_intrinsics::call_int_smax(
|
||||
ctx,
|
||||
m_val.into_int_value(),
|
||||
n_val.into_int_value(),
|
||||
Some("max"),
|
||||
).into()
|
||||
} else if is_type(m_ty, n_ty) && is_type(n_ty, float) {
|
||||
call_float_maxnum(
|
||||
llvm_intrinsics::call_float_maxnum(
|
||||
ctx,
|
||||
m_val.into_float_value(),
|
||||
n_val.into_float_value(),
|
||||
|
@ -1654,14 +1654,14 @@ pub fn get_builtins(primitives: &mut (PrimitiveStore, Unifier)) -> BuiltinInfo {
|
|||
let val: BasicValueEnum = if [boolean, uint32, uint64].iter().any(|t| is_type(n_ty, *t)) {
|
||||
n_val
|
||||
} else if [int32, int64].iter().any(|t| is_type(n_ty, *t)) {
|
||||
call_int_abs(
|
||||
llvm_intrinsics::call_int_abs(
|
||||
ctx,
|
||||
n_val.into_int_value(),
|
||||
llvm_i1.const_zero(),
|
||||
Some("abs"),
|
||||
).into()
|
||||
} else if is_type(n_ty, float) {
|
||||
call_float_fabs(
|
||||
llvm_intrinsics::call_float_fabs(
|
||||
ctx,
|
||||
n_val.into_float_value(),
|
||||
Some("abs"),
|
||||
|
|
Loading…
Reference in New Issue