17TEST(ControlOperationsTests, foldConstants)
24 auto bitType32 = BitType::Create(32);
28 auto & matchNode1 = MatchOperation::CreateNode(*zeroNode.output(0), { { 0, 0 } }, 1, 2);
32 auto & matchNode2 = MatchOperation::CreateNode(*fourNode.output(0), { { 0, 0 } }, 1, 2);
34 auto & x1 = GraphExport::Create(*matchNode1.output(0),
"x1");
35 auto & x2 = GraphExport::Create(*matchNode2.output(0),
"x2");
40 ReduceNode<MatchOperation>(
41 foldMatchOperationWithConstant,
44 ReduceNode<MatchOperation>(
45 foldMatchOperationWithConstant,
54 auto [_, op] = TryGetSimpleNodeAndOptionalOp<ControlConstantOperation>(*x1.origin());
56 EXPECT_EQ(op->value().nalternatives(), 2u);
57 EXPECT_EQ(op->value().alternative(), 0u);
61 auto [_, op] = TryGetSimpleNodeAndOptionalOp<ControlConstantOperation>(*x2.origin());
63 EXPECT_EQ(op->value().nalternatives(), 2u);
64 EXPECT_EQ(op->value().alternative(), 1u);