[Bf-blender-cvs] [9d92456c888] functions: use ArrayRef in more places

Jacques Lucke noreply at git.blender.org
Thu May 16 12:03:08 CEST 2019


Commit: 9d92456c888c272fa556f60dc449687f6a122344
Author: Jacques Lucke
Date:   Thu May 16 11:52:56 2019 +0200
Branches: functions
https://developer.blender.org/rB9d92456c888c272fa556f60dc449687f6a122344

use ArrayRef in more places

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

M	source/blender/functions/backends/llvm/build_ir_body.hpp
M	source/blender/functions/backends/llvm/builder.cpp
M	source/blender/functions/backends/llvm/builder.hpp
M	source/blender/functions/backends/llvm/ir_for_tuple_call.cpp

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

diff --git a/source/blender/functions/backends/llvm/build_ir_body.hpp b/source/blender/functions/backends/llvm/build_ir_body.hpp
index e7a1697e609..3cd7cacbbed 100644
--- a/source/blender/functions/backends/llvm/build_ir_body.hpp
+++ b/source/blender/functions/backends/llvm/build_ir_body.hpp
@@ -46,7 +46,7 @@ class CodeInterface {
     m_outputs[index] = value;
   }
 
-  const LLVMValues &inputs()
+  const ArrayRef<llvm::Value *> inputs()
   {
     return m_inputs;
   }
diff --git a/source/blender/functions/backends/llvm/builder.cpp b/source/blender/functions/backends/llvm/builder.cpp
index b2993ff3ee9..9537ac71ce5 100644
--- a/source/blender/functions/backends/llvm/builder.cpp
+++ b/source/blender/functions/backends/llvm/builder.cpp
@@ -5,7 +5,7 @@
 
 namespace FN {
 
-LLVMTypes CodeBuilder::types_of_values(LLVMValuesRef values)
+LLVMTypes CodeBuilder::types_of_values(ArrayRef<llvm::Value *> values)
 {
   LLVMTypes types;
   for (llvm::Value *value : values) {
@@ -45,7 +45,7 @@ static llvm::Function *create_wrapper_function(llvm::Module *module,
 
 llvm::Value *CodeBuilder::CreateCallPointer(void *func_ptr,
                                             llvm::FunctionType *ftype,
-                                            LLVMValuesRef args,
+                                            ArrayRef<llvm::Value *> args,
                                             const char *function_name)
 {
   BLI_assert(!ftype->isVarArg());
@@ -62,7 +62,7 @@ llvm::Value *CodeBuilder::CreateCallPointer(void *func_ptr,
 }
 
 llvm::Value *CodeBuilder::CreateCallPointer(void *func_ptr,
-                                            LLVMValuesRef args,
+                                            ArrayRef<llvm::Value *> args,
                                             llvm::Type *return_type,
                                             const char *function_name)
 {
@@ -97,7 +97,7 @@ void CodeBuilder::CreateAssertFalse(const char *message)
 /* Printing
  **********************************/
 
-void CodeBuilder::CreatePrintf(const char *format, LLVMValuesRef values)
+void CodeBuilder::CreatePrintf(const char *format, ArrayRef<llvm::Value *> values)
 {
   llvm::FunctionType *printf_ftype = llvm::TypeBuilder<int(char *, ...), false>::get(
       this->getContext());
@@ -125,7 +125,7 @@ static void print_stacktrace(ExecutionContext *context)
 
 void CodeBuilder::CreatePrintfWithStacktrace(llvm::Value *context_ptr,
                                              const char *format,
-                                             LLVMValuesRef values)
+                                             ArrayRef<llvm::Value *> values)
 {
   this->CreateCallPointer(
       (void *)print_stacktrace, {context_ptr}, this->getVoidTy(), "Print Stacktrace");
diff --git a/source/blender/functions/backends/llvm/builder.hpp b/source/blender/functions/backends/llvm/builder.hpp
index d02340ae774..6984de8a6c0 100644
--- a/source/blender/functions/backends/llvm/builder.hpp
+++ b/source/blender/functions/backends/llvm/builder.hpp
@@ -7,7 +7,6 @@ namespace FN {
 
 using LLVMValues = SmallVector<llvm::Value *>;
 using LLVMTypes = BLI::SmallVector<llvm::Type *>;
-using LLVMValuesRef = ArrayRef<llvm::Value *>;
 
 class LLVMTypeInfo;
 class IRConstruct_ForLoop;
@@ -105,12 +104,12 @@ class CodeBuilder {
     return llvm::ArrayType::get(m_builder.getInt8Ty(), size);
   }
 
-  llvm::Type *getStructType(LLVMTypes &types)
+  llvm::Type *getStructType(ArrayRef<llvm::Type *> types)
   {
     return llvm::StructType::get(this->getContext(), to_llvm_array_ref(types));
   }
 
-  llvm::FunctionType *getFunctionType(llvm::Type *ret_type, LLVMTypes &arg_types)
+  llvm::FunctionType *getFunctionType(llvm::Type *ret_type, ArrayRef<llvm::Type *> arg_types)
   {
     return llvm::FunctionType::get(ret_type, to_llvm_array_ref(arg_types), false);
   }
@@ -187,7 +186,7 @@ class CodeBuilder {
     m_builder.SetInsertPoint(block);
   }
 
-  LLVMTypes types_of_values(LLVMValuesRef values);
+  LLVMTypes types_of_values(ArrayRef<llvm::Value *> values);
 
   /* Instruction Builders
    **************************************/
@@ -350,14 +349,14 @@ class CodeBuilder {
 
   llvm::Value *CreateCallPointer(void *func_ptr,
                                  llvm::FunctionType *ftype,
-                                 LLVMValuesRef args,
+                                 ArrayRef<llvm::Value *> args,
                                  const char *function_name = "");
   llvm::Value *CreateCallPointer(void *func_ptr,
-                                 LLVMValuesRef args,
+                                 ArrayRef<llvm::Value *> args,
                                  llvm::Type *return_type,
                                  const char *function_name = "");
 
-  llvm::Value *CreateCall(llvm::Function *function, LLVMValuesRef args)
+  llvm::Value *CreateCall(llvm::Function *function, ArrayRef<llvm::Value *> args)
   {
     return m_builder.CreateCall(function, to_llvm_array_ref(args));
   }
@@ -385,7 +384,7 @@ class CodeBuilder {
     return m_builder.CreateSelect(a_is_larger, a, b);
   }
 
-  llvm::Value *CreateSIntMax(LLVMValuesRef values)
+  llvm::Value *CreateSIntMax(ArrayRef<llvm::Value *> values)
   {
     BLI_assert(values.size() >= 1);
     llvm::Value *max_value = values[0];
@@ -442,10 +441,10 @@ class CodeBuilder {
   /* Print
    **************************************/
 
-  void CreatePrintf(const char *format, LLVMValuesRef values = {});
+  void CreatePrintf(const char *format, ArrayRef<llvm::Value *> values = {});
   void CreatePrintfWithStacktrace(llvm::Value *context_ptr,
                                   const char *format,
-                                  LLVMValuesRef values);
+                                  ArrayRef<llvm::Value *> values);
 
   /* Control Flow Construction
    **************************************/
diff --git a/source/blender/functions/backends/llvm/ir_for_tuple_call.cpp b/source/blender/functions/backends/llvm/ir_for_tuple_call.cpp
index 64ecbf60e14..bdeba5ae98a 100644
--- a/source/blender/functions/backends/llvm/ir_for_tuple_call.cpp
+++ b/source/blender/functions/backends/llvm/ir_for_tuple_call.cpp
@@ -66,7 +66,7 @@ class TupleCallLLVM : public LLVMBuildIRBody {
         builder, interface, settings, input_type_infos, output_type_infos);
 
     /* Call wrapper function. */
-    LLVMValues call_inputs = interface.inputs();
+    LLVMValues call_inputs = interface.inputs().to_small_vector();
     if (settings.maintain_stack()) {
       call_inputs.append(interface.context_ptr());
     }



More information about the Bf-blender-cvs mailing list