aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_proc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/llvm_backend_proc.cpp')
-rw-r--r--src/llvm_backend_proc.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/llvm_backend_proc.cpp b/src/llvm_backend_proc.cpp
index 640a43111..837d7ce48 100644
--- a/src/llvm_backend_proc.cpp
+++ b/src/llvm_backend_proc.cpp
@@ -12,9 +12,9 @@ gb_internal void lb_mem_copy_overlapping(lbProcedure *p, lbValue dst, lbValue sr
len = lb_emit_conv(p, len, t_int);
char const *name = "llvm.memmove";
- if (LLVMIsConstant(len.value)) {
+ if (!p->is_startup && LLVMIsConstant(len.value)) {
i64 const_len = cast(i64)LLVMConstIntGetSExtValue(len.value);
- if (const_len <= 4*build_context.int_size) {
+ if (const_len <= lb_max_zero_init_size()) {
name = "llvm.memmove.inline";
}
}
@@ -41,9 +41,9 @@ gb_internal void lb_mem_copy_non_overlapping(lbProcedure *p, lbValue dst, lbValu
len = lb_emit_conv(p, len, t_int);
char const *name = "llvm.memcpy";
- if (LLVMIsConstant(len.value)) {
+ if (!p->is_startup && LLVMIsConstant(len.value)) {
i64 const_len = cast(i64)LLVMConstIntGetSExtValue(len.value);
- if (const_len <= 4*build_context.int_size) {
+ if (const_len <= lb_max_zero_init_size()) {
name = "llvm.memcpy.inline";
}
}