| 372 | } |
| 373 | |
| 374 | Status IrEmitter::HandleTupleSelect(HloInstruction* tuple_select) { |
| 375 | auto pred = tuple_select->operand(0); |
| 376 | auto on_true = tuple_select->operand(1); |
| 377 | auto on_false = tuple_select->operand(2); |
| 378 | TF_RET_CHECK(pred->shape().element_type() == PRED); |
| 379 | TF_RET_CHECK(ShapeUtil::IsScalar(pred->shape())); |
| 380 | TF_RET_CHECK(tuple_select->shape().IsTuple()); |
| 381 | TF_RETURN_IF_ERROR(EmitTargetAddressForOp(tuple_select)); |
| 382 | llvm_ir::EmitTupleSelect(GetIrArrayFor(tuple_select), GetIrArrayFor(pred), |
| 383 | GetEmittedValueFor(on_true), |
| 384 | GetEmittedValueFor(on_false), &b_); |
| 385 | return Status::OK(); |
| 386 | } |
| 387 | |
| 388 | Status IrEmitter::HandleInfeed(HloInstruction* instruction) { |
| 389 | HloInfeedInstruction* infeed = Cast<HloInfeedInstruction>(instruction); |
nothing calls this directly
no test coverage detected