| 966 | } |
| 967 | |
| 968 | XlaOp XlaBuilder::Pad(XlaOp operand, XlaOp padding_value, |
| 969 | const PaddingConfig& padding_config) { |
| 970 | return ReportErrorOrReturn([&]() -> StatusOr<XlaOp> { |
| 971 | HloInstructionProto instr; |
| 972 | |
| 973 | TF_ASSIGN_OR_RETURN(const Shape* operand_shape, GetShapePtr(operand)); |
| 974 | TF_ASSIGN_OR_RETURN(const Shape* padding_value_shape, |
| 975 | GetShapePtr(padding_value)); |
| 976 | TF_ASSIGN_OR_RETURN( |
| 977 | Shape shape, ShapeInference::InferPadShape( |
| 978 | *operand_shape, *padding_value_shape, padding_config)); |
| 979 | *instr.mutable_shape() = shape.ToProto(); |
| 980 | *instr.mutable_padding_config() = padding_config; |
| 981 | |
| 982 | return AddInstruction(std::move(instr), HloOpcode::kPad, |
| 983 | {operand, padding_value}); |
| 984 | }); |
| 985 | } |
| 986 | |
| 987 | XlaOp XlaBuilder::Reshape(XlaOp operand, absl::Span<const int64> dimensions, |
| 988 | absl::Span<const int64> new_sizes, |
no test coverage detected