aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/compiler/xla/service/llvm_ir/tuple_ops.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow/compiler/xla/service/llvm_ir/tuple_ops.cc')
-rw-r--r--tensorflow/compiler/xla/service/llvm_ir/tuple_ops.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/tensorflow/compiler/xla/service/llvm_ir/tuple_ops.cc b/tensorflow/compiler/xla/service/llvm_ir/tuple_ops.cc
index 7d49b8d6c2..a60643bc75 100644
--- a/tensorflow/compiler/xla/service/llvm_ir/tuple_ops.cc
+++ b/tensorflow/compiler/xla/service/llvm_ir/tuple_ops.cc
@@ -75,6 +75,16 @@ void EmitTuple(const IrArray& tuple, absl::Span<llvm::Value* const> operands,
}
}
+void EmitTuple(const IrArray& tuple, absl::Span<const IrArray> buffers,
+ llvm::IRBuilder<>* b, llvm::Module* module) {
+ std::vector<llvm::Value*> buffer_ptrs;
+ buffer_ptrs.reserve(buffers.size());
+ absl::c_transform(
+ buffers, std::back_inserter(buffer_ptrs),
+ [](const llvm_ir::IrArray& buffer) { return buffer.GetBasePointer(); });
+ llvm_ir::EmitTuple(tuple, buffer_ptrs, b, module);
+}
+
llvm::Value* EmitGetTupleElement(const Shape& target_shape, int64 index,
int alignment, llvm::Value* operand,
llvm::IRBuilder<>* b, llvm::Module* module) {