aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_general.cpp
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2025-10-08 11:18:35 +0100
committerGitHub <noreply@github.com>2025-10-08 11:18:35 +0100
commitc7b38f855afcb9760e1d8b9fb9ce7405fd435c28 (patch)
tree94e6d181e27100d08a4411aa6899c6eabe559355 /src/llvm_backend_general.cpp
parent5320feb6737c4d89ce54fda463ea8ff8b8200dba (diff)
parent067fbfb48c2673ba4cf9c4b163fc99082d195147 (diff)
Merge pull request #5768 from A1029384756/llvm-14-fixes
LLVM 14 Const Union Fixes
Diffstat (limited to 'src/llvm_backend_general.cpp')
-rw-r--r--src/llvm_backend_general.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/llvm_backend_general.cpp b/src/llvm_backend_general.cpp
index 39cf70a6a..9e3042d5a 100644
--- a/src/llvm_backend_general.cpp
+++ b/src/llvm_backend_general.cpp
@@ -449,6 +449,31 @@ gb_internal LLVMValueRef llvm_const_insert_value(lbModule *m, LLVMValueRef agg,
}
+gb_internal LLVMValueRef llvm_const_shl(lbModule *m, LLVMValueRef a, LLVMValueRef b) {
+ LLVMValueRef res = LLVMBuildShl(m->const_dummy_builder, a, b, "");
+ GB_ASSERT(LLVMIsConstant(res));
+ return res;
+}
+
+gb_internal LLVMValueRef llvm_const_lshr(lbModule *m, LLVMValueRef a, LLVMValueRef b) {
+ LLVMValueRef res = LLVMBuildLShr(m->const_dummy_builder, a, b, "");
+ GB_ASSERT(LLVMIsConstant(res));
+ return res;
+}
+
+gb_internal LLVMValueRef llvm_const_or(lbModule *m, LLVMValueRef a, LLVMValueRef b) {
+ LLVMValueRef res = LLVMBuildOr(m->const_dummy_builder, a, b, "");
+ GB_ASSERT(LLVMIsConstant(res));
+ return res;
+}
+
+gb_internal LLVMValueRef llvm_const_zext(lbModule *m, LLVMValueRef a, LLVMTypeRef b) {
+ LLVMValueRef res = LLVMBuildZExt(m->const_dummy_builder, a, b, "");
+ GB_ASSERT(LLVMIsConstant(res));
+ return res;
+}
+
+
gb_internal LLVMValueRef llvm_cstring(lbModule *m, String const &str) {