EXPECT_EQ(2, shape.dim(0).size());
EXPECT_EQ(1, shape.dim(1).size());
if (node->name() == y->name()) {
- EXPECT_EQ(13, cm->AllocationId(node, 0));
+ EXPECT_EQ(21, cm->AllocationId(node, 0));
} else {
- EXPECT_EQ(14, cm->AllocationId(node, 0));
+ EXPECT_EQ(22, cm->AllocationId(node, 0));
}
}
EXPECT_LE(0, cm->MaxExecutionTime(node));
}
}
}
+ } else if (dead.node->op() == "ControlTrigger") {
+ // Control trigger have different semantic, so don't touch them
+ found_node_to_preserve = true;
+ break;
} else {
if (local_dead_nodes.insert(dead.node).second) {
for (const GraphView::InputPort& dead_fanout :
if (options_.enable_stack_push_removal) {
TF_RETURN_IF_ERROR(RemoveStackOps(item.NodesToPreserve(), optimized_graph));
}
- if (opt_level_ == RewriterConfig::AGGRESSIVE &&
- options_.enable_dead_branch_removal) {
+ if (options_.enable_dead_branch_removal) {
TF_RETURN_IF_ERROR(
RemoveDeadBranches(item.NodesToPreserve(), optimized_graph));
}
optimizers->emplace_back(
new ConstantFolding(cfg_.constant_folding(), cpu_device_));
}
- if (cfg_.shape_optimization() == RewriterConfig::ON) {
+ if (cfg_.shape_optimization() != RewriterConfig::OFF) {
optimizers->emplace_back(new ShapeOptimizer());
}
- if (cfg_.remapping() == RewriterConfig::ON) {
+ if (cfg_.remapping() != RewriterConfig::OFF) {
optimizers->emplace_back(new Remapper(cfg_.remapping()));
}
if (cfg_.arithmetic_optimization() != RewriterConfig::OFF) {
cfg.layout_optimizer() != RewriterConfig::OFF ||
cfg.function_optimization() != RewriterConfig::OFF ||
cfg.constant_folding() != RewriterConfig::OFF ||
- cfg.shape_optimization() == RewriterConfig::ON ||
- cfg.remapping() == RewriterConfig::ON ||
+ cfg.shape_optimization() != RewriterConfig::OFF ||
+ cfg.remapping() != RewriterConfig::OFF ||
cfg.arithmetic_optimization() != RewriterConfig::OFF ||
cfg.loop_optimization() != RewriterConfig::OFF ||
cfg.dependency_optimization() != RewriterConfig::OFF ||
// Statically infer the value of tensors when possible, and materialize the
// result using constants.
Toggle constant_folding = 3;
- // Shape optimizations (default is OFF)
+ // Shape optimizations (default is ON)
// Simplify computations made on shapes.
Toggle shape_optimization = 13;
- // Remapping (default is OFF)
+ // Remapping (default is ON)
// Remap subgraphs onto more efficient implementations.
Toggle remapping = 14;
// Arithmetic optimizations (default is ON)