aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--tensorflow/compiler/xla/service/hlo_instruction.h4
-rw-r--r--tensorflow/compiler/xla/service/hlo_instruction_test.cc16
2 files changed, 20 insertions, 0 deletions
diff --git a/tensorflow/compiler/xla/service/hlo_instruction.h b/tensorflow/compiler/xla/service/hlo_instruction.h
index 72b9d545ae..d47af6c018 100644
--- a/tensorflow/compiler/xla/service/hlo_instruction.h
+++ b/tensorflow/compiler/xla/service/hlo_instruction.h
@@ -776,6 +776,10 @@ class HloInstruction {
}
}
+ if (backend_config_ != other.backend_config_) {
+ return false;
+ }
+
return IdenticalSlowPath(other, eq_computations);
}
diff --git a/tensorflow/compiler/xla/service/hlo_instruction_test.cc b/tensorflow/compiler/xla/service/hlo_instruction_test.cc
index e91cf2076f..d1b6bc726d 100644
--- a/tensorflow/compiler/xla/service/hlo_instruction_test.cc
+++ b/tensorflow/compiler/xla/service/hlo_instruction_test.cc
@@ -1542,5 +1542,21 @@ ENTRY entry (param: s32[]) -> s32[] {
}
}
+TEST_F(HloInstructionTest, IdenticalAccountsForBackendConfig) {
+ const Shape shape = ShapeUtil::MakeShape(F32, {42});
+ HloComputation::Builder builder("test");
+ HloInstruction* p =
+ builder.AddInstruction(HloInstruction::CreateParameter(0, shape, "p"));
+
+ HloInstruction* add1 = builder.AddInstruction(
+ HloInstruction::CreateBinary(shape, HloOpcode::kAdd, p, p));
+ HloInstruction* add2 = builder.AddInstruction(
+ HloInstruction::CreateBinary(shape, HloOpcode::kAdd, p, p));
+
+ EXPECT_TRUE(add1->Identical(*add2));
+ add1->set_raw_backend_config_string("abc");
+ EXPECT_FALSE(add1->Identical(*add2));
+}
+
} // namespace
} // namespace xla