[Bf-blender-cvs] [1a0a6420637] functions: fix boolean c++/llvm conversion

Jacques Lucke noreply at git.blender.org
Thu Aug 22 11:48:09 CEST 2019


Commit: 1a0a6420637c4f8e869935d7a772cc01adce21c5
Author: Jacques Lucke
Date:   Thu Aug 22 11:44:56 2019 +0200
Branches: functions
https://developer.blender.org/rB1a0a6420637c4f8e869935d7a772cc01adce21c5

fix boolean c++/llvm conversion

===================================================================

M	source/blender/functions/types/boolean.cpp

===================================================================

diff --git a/source/blender/functions/types/boolean.cpp b/source/blender/functions/types/boolean.cpp
index c2fe06bb1ef..eeb4b186f35 100644
--- a/source/blender/functions/types/boolean.cpp
+++ b/source/blender/functions/types/boolean.cpp
@@ -16,15 +16,17 @@ class LLVMBool : public TrivialLLVMTypeInfo {
 
   void build_store_ir__copy(CodeBuilder &builder,
                             llvm::Value *value,
-                            llvm::Value *byte_addr) const override
+                            llvm::Value *address) const override
   {
+    llvm::Value *byte_address = builder.CastToPointerOf(address, builder.getInt8Ty());
     llvm::Value *byte_value = builder.CreateCastIntTo8(value, false);
-    builder.CreateStore(byte_value, byte_addr);
+    builder.CreateStore(byte_value, byte_address);
   }
 
-  llvm::Value *build_load_ir__copy(CodeBuilder &builder, llvm::Value *byte_addr) const override
+  llvm::Value *build_load_ir__copy(CodeBuilder &builder, llvm::Value *address) const override
   {
-    llvm::Value *byte_value = builder.CreateLoad(byte_addr);
+    llvm::Value *byte_address = builder.CastToPointerOf(address, builder.getInt8Ty());
+    llvm::Value *byte_value = builder.CreateLoad(byte_address);
     llvm::Value *value = builder.CreateCastIntTo1(byte_value);
     return value;
   }



More information about the Bf-blender-cvs mailing list