diff options
Diffstat (limited to 'tensorflow/compiler/xla/service/llvm_ir/tuple_ops.cc')
-rw-r--r-- | tensorflow/compiler/xla/service/llvm_ir/tuple_ops.cc | 10 |
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) { |