diff options
| author | gingerBill <gingerBill@users.noreply.github.com> | 2025-10-08 11:18:35 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-08 11:18:35 +0100 |
| commit | c7b38f855afcb9760e1d8b9fb9ce7405fd435c28 (patch) | |
| tree | 94e6d181e27100d08a4411aa6899c6eabe559355 /src/llvm_backend_general.cpp | |
| parent | 5320feb6737c4d89ce54fda463ea8ff8b8200dba (diff) | |
| parent | 067fbfb48c2673ba4cf9c4b163fc99082d195147 (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.cpp | 25 |
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) { |