13e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower/* Copyright 2017 The TensorFlow Authors. All Rights Reserved.
23e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower
33e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlowerLicensed under the Apache License, Version 2.0 (the "License");
43e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFloweryou may not use this file except in compliance with the License.
53e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlowerYou may obtain a copy of the License at
63e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower
73e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower    http://www.apache.org/licenses/LICENSE-2.0
83e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower
93e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlowerUnless required by applicable law or agreed to in writing, software
103e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlowerdistributed under the License is distributed on an "AS IS" BASIS,
113e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlowerWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
123e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlowerSee the License for the specific language governing permissions and
133e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlowerlimitations under the License.
143e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower==============================================================================*/
153e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower
163e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower// Utilities to manipulate data in hlo.proto.
173e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower
183e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower#ifndef TENSORFLOW_COMPILER_XLA_SERVICE_HLO_PROTO_UTIL_H_
193e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower#define TENSORFLOW_COMPILER_XLA_SERVICE_HLO_PROTO_UTIL_H_
203e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower
213e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower#include <string>
223e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower
233e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower#include "tensorflow/compiler/xla/service/buffer_assignment.h"
243e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower#include "tensorflow/compiler/xla/service/hlo.pb.h"
253e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower#include "tensorflow/compiler/xla/service/hlo_module.h"
263e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower#include "tensorflow/compiler/xla/status.h"
273e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower
283e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlowernamespace xla {
293e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower
303e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower// Returns a serialized representation of the HLO state.
313e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlowerHloProto MakeHloProto(const HloModule& module,
323e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower                      const BufferAssignment& assignment);
333e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower
340922a8c17a2896cb5cac527b4ce8fc4a9d1d0630A. Unique TensorFlower// Returns a serialized representation of the HLO state, but buffer assignment
350922a8c17a2896cb5cac527b4ce8fc4a9d1d0630A. Unique TensorFlower// will not be included in the output.
360922a8c17a2896cb5cac527b4ce8fc4a9d1d0630A. Unique TensorFlowerHloProto MakeHloProto(const HloModule& module);
370922a8c17a2896cb5cac527b4ce8fc4a9d1d0630A. Unique TensorFlower
383e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower}  // namespace xla
393e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower
403e767e9db0e0a00a509354ec18462841ea4d40f2A. Unique TensorFlower#endif  // TENSORFLOW_COMPILER_XLA_SERVICE_HLO_PROTO_UTIL_H_
41