From 00d52d3151262a8483c81cf2898d9fe7c044a7a5 Mon Sep 17 00:00:00 2001 From: fruffy Date: Fri, 2 Aug 2024 11:43:24 +0200 Subject: [PATCH 1/2] Eliminate actions from tables. --- core/specialization/passes/elim_dead_code.cpp | 53 ++++++++++++++++++- core/specialization/passes/elim_dead_code.h | 1 + 2 files changed, 52 insertions(+), 2 deletions(-) diff --git a/core/specialization/passes/elim_dead_code.cpp b/core/specialization/passes/elim_dead_code.cpp index d3e4c584..461ca87a 100644 --- a/core/specialization/passes/elim_dead_code.cpp +++ b/core/specialization/passes/elim_dead_code.cpp @@ -6,6 +6,7 @@ #include "backends/p4tools/common/lib/table_utils.h" #include "backends/p4tools/modules/flay/core/lib/return_macros.h" #include "backends/p4tools/modules/flay/options.h" +#include "ir/indexed_vector.h" #include "ir/node.h" #include "ir/vector.h" #include "lib/error.h" @@ -83,7 +84,7 @@ const IR::Node *ElimDeadCode::preorder(IR::SwitchStatement *switchStmt) { } continue; } - printInfo("---DEAD_CODE--- %1% can be deleted.", switchCase->label); + printInfo("---DEAD_CODE--- SwitchCase %1% can be deleted.", switchCase->label); _eliminatedNodes.emplace_back(switchCase, nullptr); // We are removing a statement that had previous fall-through labels. if (previousFallThrough && !filteredSwitchCases.empty() && @@ -150,6 +151,54 @@ const IR::Node *ElimDeadCode::preorder(IR::Member *member) { return result; } +const IR::Node *ElimDeadCode::preorder(IR::P4Table *table) { + IR::IndexedVector actionListVector; + + ASSIGN_OR_RETURN_WITH_MESSAGE(const auto &defaultAction, table->getDefaultAction(), table, + ::P4::error("Table %1% does not have a default action.", table)); + ASSIGN_OR_RETURN_WITH_MESSAGE( + const auto &defaultActionCall, defaultAction.to(), table, + ::P4::error("%1% is not a method call expression.", defaultAction)); + + const auto *actionList = table->getActionList(); + for (const auto *action : actionList->actionList) { + // Do not remove actions which have a default only annotation. + // Do not remove the default action. + if (action->getAnnotation(IR::Annotation::defaultOnlyAnnotation) != nullptr || + defaultActionCall.method->toString() == + action->expression->checkedTo()->method->toString()) { + actionListVector.push_back(action); + continue; + } + auto reachabilityOpt = _reachabilityMap.get().isNodeReachable(action); + if (!reachabilityOpt.has_value()) { + actionListVector.push_back(action); + continue; + } + if (reachabilityOpt.value()) { + printInfo("---DEAD_CODE--- ActionListElement %1% will always be executed.", action); + actionListVector.clear(); + actionListVector.push_back(action); + break; + } + _eliminatedNodes.emplace_back(action, nullptr); + printInfo("---DEAD_CODE--- ActionListElement %1% can be deleted.", action); + } + auto *newActionList = new IR::ActionList(actionListVector); + IR::TableProperties properties; + for (const auto *property : table->properties->properties) { + if (property->name == IR::TableProperties::actionsPropertyName) { + auto *newProp = property->clone(); + newProp->value = newActionList; + properties.push_back(newProp); + } else { + properties.push_back(property); + } + } + table->properties = new IR::TableProperties(properties); + return table; +} + const IR::Node *ElimDeadCode::preorder(IR::MethodCallStatement *stmt) { const auto *call = stmt->methodCall->method->to(); RETURN_IF_FALSE(call != nullptr && call->member == IR::IApply::applyMethodName, stmt); @@ -169,7 +218,7 @@ const IR::Node *ElimDeadCode::preorder(IR::MethodCallStatement *stmt) { ::P4::error("Table %1% does not have a default action.", tableDecl)); ASSIGN_OR_RETURN_WITH_MESSAGE( const auto &defaultActionCall, defaultAction.to(), stmt, - ::P4::error("%1% is not a method call expression.", table.getDefaultAction())); + ::P4::error("%1% is not a method call expression.", defaultAction)); for (const auto *action : tableActionList) { // Do not remove the default action. if (defaultActionCall.method->toString() == diff --git a/core/specialization/passes/elim_dead_code.h b/core/specialization/passes/elim_dead_code.h index e9d15bda..282b87c5 100644 --- a/core/specialization/passes/elim_dead_code.h +++ b/core/specialization/passes/elim_dead_code.h @@ -27,6 +27,7 @@ class ElimDeadCode : public Transform { std::vector _eliminatedNodes; const IR::Node *preorder(IR::P4Parser *parser) override; + const IR::Node *preorder(IR::P4Table *p4Table) override; const IR::Node *preorder(IR::IfStatement *stmt) override; const IR::Node *preorder(IR::SwitchStatement *switchStmt) override; const IR::Node *preorder(IR::MethodCallStatement *stmt) override; From a89dd85290177ac795fbcef971b400f2fe4f4391 Mon Sep 17 00:00:00 2001 From: fruffy Date: Thu, 8 Aug 2024 15:06:14 +0200 Subject: [PATCH 2/2] Reference files. --- core/specialization/passes/elim_dead_code.cpp | 5 +- .../bmv2/test/testdata/action-two-params.ref | 1 + .../test/testdata/action_profile-bmv2.ref | 2 + ...tion_profile_max_group_size_annotation.ref | 2 + ...tion_profile_sum_of_members_annotation.ref | 2 + .../testdata/action_selector_shared-bmv2.ref | 2 + .../testdata/annotation-inline-propagate.ref | 1 + targets/bmv2/test/testdata/basic2-bmv2.ref | 2 + .../bmv2/test/testdata/basic_routing-bmv2.ref | 10 ++++ .../testdata/config/basic_routing-bmv2.ref | 10 ++++ .../config/dash-pipeline-v1model-bmv2.ref | 32 ++++++++++ .../test/testdata/config/pins_middleblock.ref | 41 +++++++++++++ .../testdata/config/v1model_entries_table.ref | 1 + .../test/testdata/control-hs-index-test6.ref | 1 + targets/bmv2/test/testdata/copyprop1.ref | 1 + .../custom-type-restricted-fields.ref | 2 + .../testdata/dash-pipeline-v1model-bmv2.ref | 38 ++++++++++++ targets/bmv2/test/testdata/flag_lost-bmv2.ref | 2 + .../test/testdata/flowlet_switching-bmv2.ref | 10 ++++ .../testdata/gauntlet_action_return-bmv2.ref | 1 + .../gauntlet_exit_combination_1-bmv2.ref | 1 + .../gauntlet_exit_combination_10-bmv2.ref | 1 + .../gauntlet_exit_combination_11-bmv2.ref | 2 +- .../gauntlet_exit_combination_13-bmv2.ref | 2 +- .../gauntlet_exit_combination_14-bmv2.ref | 2 +- .../gauntlet_exit_combination_15-bmv2.ref | 1 + .../gauntlet_exit_combination_16-bmv2.ref | 1 + .../gauntlet_exit_combination_17-bmv2.ref | 2 + .../gauntlet_exit_combination_19-bmv2.ref | 1 + .../gauntlet_exit_combination_2-bmv2.ref | 1 + .../gauntlet_exit_combination_22-bmv2.ref | 1 + .../gauntlet_exit_combination_23-bmv2.ref | 2 +- .../gauntlet_exit_combination_3-bmv2.ref | 1 + .../gauntlet_exit_combination_4-bmv2.ref | 2 +- .../gauntlet_exit_combination_9-bmv2.ref | 1 + .../test/testdata/gauntlet_index_2-bmv2.ref | 1 + .../gauntlet_instance_overwrite-bmv2.ref | 1 + .../test/testdata/gauntlet_mux_hdr-bmv2.ref | 1 + .../gauntlet_nested_table_calls-bmv2.ref | 1 + .../gauntlet_switch_exclusivity-bmv2.ref | 2 + ...auntlet_switch_nested_table_apply-bmv2.ref | 1 + .../gauntlet_switch_shadowing-bmv2.ref | 2 + ...gauntlet_table_call_in_expression-bmv2.ref | 2 + ...auntlet_uninitialized_bool_struct-bmv2.ref | 1 + .../gauntlet_variable_shadowing-bmv2.ref | 1 + .../test/testdata/ipv6-switch-ml-bmv2.ref | 3 + targets/bmv2/test/testdata/issue-2123.ref | 10 ++++ .../test/testdata/issue-3312-graph-bmv2.ref | 1 + targets/bmv2/test/testdata/issue1107.ref | 1 + targets/bmv2/test/testdata/issue1352-bmv2.ref | 5 ++ targets/bmv2/test/testdata/issue1412-bmv2.ref | 1 + targets/bmv2/test/testdata/issue1538.ref | 1 + .../bmv2/test/testdata/issue1544-1-bmv2.ref | 1 + .../bmv2/test/testdata/issue1544-2-bmv2.ref | 1 + targets/bmv2/test/testdata/issue1544-bmv2.ref | 1 + targets/bmv2/test/testdata/issue1560-bmv2.ref | 6 ++ targets/bmv2/test/testdata/issue1595.ref | 4 ++ targets/bmv2/test/testdata/issue1630-bmv2.ref | 2 + .../test/testdata/issue1653-complex-bmv2.ref | 1 + targets/bmv2/test/testdata/issue1713-bmv2.ref | 3 + targets/bmv2/test/testdata/issue1739-bmv2.ref | 2 + .../bmv2/test/testdata/issue1765-1-bmv2.ref | 7 +++ .../bmv2/test/testdata/issue1814-1-bmv2.ref | 2 + targets/bmv2/test/testdata/issue1834-bmv2.ref | 1 + targets/bmv2/test/testdata/issue1958.ref | 1 + targets/bmv2/test/testdata/issue1985.ref | 1 + targets/bmv2/test/testdata/issue1989-bmv2.ref | 1 + targets/bmv2/test/testdata/issue2153-bmv2.ref | 1 + targets/bmv2/test/testdata/issue2170-bmv2.ref | 1 + targets/bmv2/test/testdata/issue2266.ref | 1 + targets/bmv2/test/testdata/issue2321.ref | 3 + targets/bmv2/test/testdata/issue2344.ref | 1 + targets/bmv2/test/testdata/issue2375-bmv2.ref | 1 + targets/bmv2/test/testdata/issue2905-bmv2.ref | 2 +- targets/bmv2/test/testdata/issue297-bmv2.ref | 2 + targets/bmv2/test/testdata/issue298-bmv2.ref | 1 + .../bmv2/test/testdata/issue3488-1-bmv2.ref | 5 ++ targets/bmv2/test/testdata/issue3488-bmv2.ref | 5 ++ targets/bmv2/test/testdata/issue383-bmv2.ref | 1 + targets/bmv2/test/testdata/issue420.ref | 1 + targets/bmv2/test/testdata/issue422.ref | 1 + targets/bmv2/test/testdata/issue461-bmv2.ref | 3 + targets/bmv2/test/testdata/issue561-bmv2.ref | 3 + targets/bmv2/test/testdata/issue949.ref | 1 + targets/bmv2/test/testdata/logging-bmv2.ref | 1 + .../test/testdata/match-on-exprs-bmv2.ref | 2 + .../test/testdata/match-on-exprs2-bmv2.ref | 2 + targets/bmv2/test/testdata/multicast-bmv2.ref | 7 +++ .../bmv2/test/testdata/named_meter_1-bmv2.ref | 4 ++ .../bmv2/test/testdata/named_meter_bmv2.ref | 4 ++ targets/bmv2/test/testdata/nested_if_else.ref | 2 + .../nested_if_lvalue_dependencies.ref | 2 + .../test/testdata/nested_if_statement.ref | 2 + .../testdata/nonstandard_table_names-bmv2.ref | 5 ++ targets/bmv2/test/testdata/p416-type-use3.ref | 2 + targets/bmv2/test/testdata/pins_fabric.ref | 42 +++++++++++++ .../bmv2/test/testdata/pins_middleblock.ref | 42 +++++++++++++ targets/bmv2/test/testdata/pins_wbb.ref | 2 + .../bmv2/test/testdata/pvs-bitstring-bmv2.ref | 1 + .../bmv2/test/testdata/pvs-struct-1-bmv2.ref | 1 + .../bmv2/test/testdata/pvs-struct-2-bmv2.ref | 1 + .../bmv2/test/testdata/pvs-struct-3-bmv2.ref | 1 + .../same_name_for_table_and_action.ref | 1 + .../bmv2/test/testdata/std_meta_inlining.ref | 1 + targets/bmv2/test/testdata/strength3.ref | 7 +++ targets/bmv2/test/testdata/strength6.ref | 4 ++ .../test/testdata/structured_annotations.ref | 2 + .../test/testdata/table-key-serenum-bmv2.ref | 2 +- targets/bmv2/test/testdata/ternary2-bmv2.ref | 8 +++ targets/bmv2/test/testdata/up4.ref | 15 +++++ .../test/testdata/use-priority-as-name.ref | 3 + .../v1model-digest-containing-ser-enum.ref | 5 ++ .../testdata/v1model-digest-custom-type.ref | 5 ++ .../v1model-p4runtime-enumint-types1.ref | 2 + .../v1model-p4runtime-most-types1.ref | 2 + .../testdata/v1model-special-ops-bmv2.ref | 9 +++ .../testdata/v1model_constant_variable.ref | 1 + .../testdata/v1model_dead_ternary_table.ref | 2 + .../testdata/v1model_default_override.ref | 1 + .../test/testdata/v1model_simple_example.ref | 1 + .../test/testdata/dash-pipeline-xsa-fpga.ref | 38 ++++++++++++ targets/fpga/test/testdata/p4_and_verilog.ref | 2 + targets/fpga/test/testdata/p4_hbm.ref | 2 + .../fpga/test/testdata/p4_multi_proc_egr.ref | 2 + .../fpga/test/testdata/p4_multi_proc_igr.ref | 2 + targets/fpga/test/testdata/p4_only.ref | 2 + targets/fpga/test/testdata/p4_with_extern.ref | 2 + .../test/testdata/action-const-default.ref | 1 + .../test/testdata/action-default-ternary.ref | 1 + .../testdata/action-profile-action-run.ref | 2 + .../test/testdata/action-profile-hit.ref | 2 + .../test/testdata/action-profile-lpm.ref | 2 + .../nikss/test/testdata/action-profile1.ref | 2 + .../nikss/test/testdata/action-profile2.ref | 4 ++ .../testdata/action-selector-action-run.ref | 1 + .../test/testdata/action-selector-hit.ref | 1 + .../test/testdata/action-selector-lpm.ref | 1 + .../nikss/test/testdata/action-selector1.ref | 1 + .../nikss/test/testdata/action-selector2.ref | 2 + .../nikss/test/testdata/action-selector3.ref | 1 + .../nikss/test/testdata/action-selector4.ref | 1 + .../nikss/test/testdata/action-selector5.ref | 2 + targets/nikss/test/testdata/bng.ref | 12 ++++ .../test/testdata/const-entry-and-action.ref | 2 +- targets/nikss/test/testdata/counters.ref | 2 + .../nikss/test/testdata/direct-counters.ref | 4 ++ targets/nikss/test/testdata/hash-action.ref | 1 + targets/nikss/test/testdata/l2l3-acl.ref | 8 +++ targets/nikss/test/testdata/meters-action.ref | 1 + .../testdata/meters-direct-and-counter.ref | 1 + ...ters-direct-and-indirect-single-action.ref | 1 + .../testdata/meters-direct-and-indirect.ref | 1 + .../testdata/meters-direct-color-aware.ref | 1 + targets/nikss/test/testdata/meters-direct.ref | 1 + .../nikss/test/testdata/meters-two-direct.ref | 1 + .../nikss/test/testdata/packet_in-advance.ref | 1 + .../nikss/test/testdata/packet_in-length.ref | 1 + .../nikss/test/testdata/psa-lpm-two-keys.ref | 2 + targets/nikss/test/testdata/psa-lpm.ref | 2 + targets/nikss/test/testdata/psa-ternary.ref | 5 ++ targets/nikss/test/testdata/random.ref | 1 + .../nikss/test/testdata/register-action.ref | 1 + targets/nikss/test/testdata/simple-fwd.ref | 1 + .../nikss/test/testdata/table-cache-lpm.ref | 1 + .../test/testdata/table-cache-ternary.ref | 1 + targets/nikss/test/testdata/upf.ref | 11 ++++ .../nikss/test/testdata/wide-field-tables.ref | 6 ++ targets/tofino/test/testdata/aes_oneround.ref | 18 ++++++ targets/tofino/test/testdata/aes_tworound.ref | 34 +++++++++++ .../test/testdata/bri_with_pdfixed_thrift.ref | 2 + .../tofino/test/testdata/config/bfd/scion.ref | 7 +++ targets/tofino/test/testdata/config/scion.ref | 7 +++ .../testdata/halfsiphash24_ingressegress.ref | 2 +- .../test/testdata/heavy_hitter_5tupple.ref | 1 + .../test/testdata/heavy_hitter_reaction.ref | 2 + .../test/testdata/heavy_hitter_srcbased.ref | 1 + targets/tofino/test/testdata/p40f_tofino.ref | 4 ++ targets/tofino/test/testdata/scion.ref | 9 +++ .../tofino/test/testdata/simple_forwarder.ref | 1 + .../test/testdata/tna_action_profile.ref | 5 ++ .../test/testdata/tna_action_selector.ref | 3 + .../tofino/test/testdata/tna_bridged_md.ref | 3 + targets/tofino/test/testdata/tna_checksum.ref | 10 ++++ targets/tofino/test/testdata/tna_counter.ref | 3 + .../tofino/test/testdata/tna_custom_hash.ref | 1 + targets/tofino/test/testdata/tna_digest.ref | 3 + targets/tofino/test/testdata/tna_dkm.ref | 3 + .../tofino/test/testdata/tna_exact_match.ref | 4 ++ .../tofino/test/testdata/tna_field_slice.ref | 9 +++ .../tofino/test/testdata/tna_idletimeout.ref | 2 + .../tofino/test/testdata/tna_lpm_match.ref | 2 + .../testdata/tna_meter_bytecount_adjust.ref | 2 + .../tofino/test/testdata/tna_multicast.ref | 5 ++ .../tofino/test/testdata/tna_operations.ref | 2 + targets/tofino/test/testdata/tna_pktgen.ref | 2 + .../test/testdata/tna_port_metadata.ref | 1 + .../testdata/tna_port_metadata_extern.ref | 1 + targets/tofino/test/testdata/tna_ports.ref | 3 + .../tofino/test/testdata/tna_proxy_hash.ref | 2 + .../tofino/test/testdata/tna_range_match.ref | 1 + targets/tofino/test/testdata/tna_register.ref | 2 + .../testdata/tna_simple_action_profile.ref | 1 + .../testdata/tna_simple_action_selector.ref | 1 + .../test/testdata/tna_simple_switch.ref | 59 +++++++++++++++++++ targets/tofino/test/testdata/tna_snapshot.ref | 2 + .../test/testdata/tna_symmetric_hash.ref | 1 + .../tofino/test/testdata/tna_timestamp.ref | 1 + .../test/testdata/tofino_stamper_v1_2_0.ref | 11 ++++ .../tofino/test/testdata/unibs_flowrest.ref | 10 ++++ 209 files changed, 858 insertions(+), 11 deletions(-) diff --git a/core/specialization/passes/elim_dead_code.cpp b/core/specialization/passes/elim_dead_code.cpp index 461ca87a..12bd275b 100644 --- a/core/specialization/passes/elim_dead_code.cpp +++ b/core/specialization/passes/elim_dead_code.cpp @@ -86,12 +86,13 @@ const IR::Node *ElimDeadCode::preorder(IR::SwitchStatement *switchStmt) { } printInfo("---DEAD_CODE--- SwitchCase %1% can be deleted.", switchCase->label); _eliminatedNodes.emplace_back(switchCase, nullptr); + printInfo("---DEAD_CODE--- Switchcase %1% can be deleted.", switchCase->label); // We are removing a statement that had previous fall-through labels. if (previousFallThrough && !filteredSwitchCases.empty() && switchCase->statement != nullptr) { auto *previous = filteredSwitchCases.back()->clone(); - printInfo("---DEAD_CODE--- Merging statements of %1% into %2%.", switchCase->label, - previous->label); + printInfo("---DEAD_CODE--- Merging statements of switchcase %1% into switchcase %2%.", + switchCase->label, previous->label); previous->statement = switchCase->statement; filteredSwitchCases.pop_back(); filteredSwitchCases.push_back(previous); diff --git a/targets/bmv2/test/testdata/action-two-params.ref b/targets/bmv2/test/testdata/action-two-params.ref index bac29cd0..4c107765 100644 --- a/targets/bmv2/test/testdata/action-two-params.ref +++ b/targets/bmv2/test/testdata/action-two-params.ref @@ -1,3 +1,4 @@ +Eliminated node at line 69: actions = {actTbl; drop;} Eliminated node at line 77: if (hdr.ipv4.isValid()) { Replaced node at line 67: hdr.ipv4.dstAddr : exact; with 0 statement_count_before:2 diff --git a/targets/bmv2/test/testdata/action_profile-bmv2.ref b/targets/bmv2/test/testdata/action_profile-bmv2.ref index 5a0b2475..07f749ff 100644 --- a/targets/bmv2/test/testdata/action_profile-bmv2.ref +++ b/targets/bmv2/test/testdata/action_profile-bmv2.ref @@ -1,3 +1,5 @@ +Eliminated node at line 37: actions = { drop; NoAction; } +Eliminated node at line 44: actions = { drop; NoAction; } Eliminated node at line 50: indirect.apply(); Eliminated node at line 51: indirect_ws.apply(); Replaced node at line 43: key = { meta.hash1 : selector; } with 0 diff --git a/targets/bmv2/test/testdata/action_profile_max_group_size_annotation.ref b/targets/bmv2/test/testdata/action_profile_max_group_size_annotation.ref index ecc2651a..208456bf 100644 --- a/targets/bmv2/test/testdata/action_profile_max_group_size_annotation.ref +++ b/targets/bmv2/test/testdata/action_profile_max_group_size_annotation.ref @@ -1,3 +1,5 @@ +Eliminated node at line 37: actions = { drop; NoAction; } +Eliminated node at line 49: actions = { drop; NoAction; } Eliminated node at line 61: indirect.apply(); Eliminated node at line 62: indirect_ws.apply(); Replaced node at line 48: key = { meta.hash1 : selector; } with 0 diff --git a/targets/bmv2/test/testdata/action_profile_sum_of_members_annotation.ref b/targets/bmv2/test/testdata/action_profile_sum_of_members_annotation.ref index 44f6fc08..4030e6d7 100644 --- a/targets/bmv2/test/testdata/action_profile_sum_of_members_annotation.ref +++ b/targets/bmv2/test/testdata/action_profile_sum_of_members_annotation.ref @@ -1,3 +1,5 @@ +Eliminated node at line 52: actions = { drop; NoAction; } +Eliminated node at line 59: actions = { drop; NoAction; } Eliminated node at line 65: indirect.apply(); Eliminated node at line 66: indirect_ws.apply(); Replaced node at line 58: key = { meta.hash1 : selector; } with 0 diff --git a/targets/bmv2/test/testdata/action_selector_shared-bmv2.ref b/targets/bmv2/test/testdata/action_selector_shared-bmv2.ref index 3a2f1674..29754f2a 100644 --- a/targets/bmv2/test/testdata/action_selector_shared-bmv2.ref +++ b/targets/bmv2/test/testdata/action_selector_shared-bmv2.ref @@ -1,3 +1,5 @@ +Eliminated node at line 39: actions = { drop; NoAction; } +Eliminated node at line 47: actions = { drop; NoAction; } Eliminated node at line 53: indirect_ws.apply(); Eliminated node at line 54: indirect_ws_1.apply(); Replaced node at line 38: key = { meta.hash1 : selector; } with 0 diff --git a/targets/bmv2/test/testdata/annotation-inline-propagate.ref b/targets/bmv2/test/testdata/annotation-inline-propagate.ref index 2890f7a8..ce57ecf3 100644 --- a/targets/bmv2/test/testdata/annotation-inline-propagate.ref +++ b/targets/bmv2/test/testdata/annotation-inline-propagate.ref @@ -1,3 +1,4 @@ +Eliminated node at line 68: set_hdr; Eliminated node at line 75: if (table1.apply().miss) { statement_count_before:4 statement_count_after:4 diff --git a/targets/bmv2/test/testdata/basic2-bmv2.ref b/targets/bmv2/test/testdata/basic2-bmv2.ref index 0fa9208d..16f389ff 100644 --- a/targets/bmv2/test/testdata/basic2-bmv2.ref +++ b/targets/bmv2/test/testdata/basic2-bmv2.ref @@ -1,3 +1,5 @@ +Eliminated node at line 88: ipv4_forward; +Eliminated node at line 89: drop; Eliminated node at line 100: ipv4_lpm.apply(); Replaced node at line 84: hdr.ipv4.dstAddr: ternary; with 0 Replaced node at line 85: hdr.ipv4.srcAddr: lpm; with 0 diff --git a/targets/bmv2/test/testdata/basic_routing-bmv2.ref b/targets/bmv2/test/testdata/basic_routing-bmv2.ref index e4735e18..76cffc15 100644 --- a/targets/bmv2/test/testdata/basic_routing-bmv2.ref +++ b/targets/bmv2/test/testdata/basic_routing-bmv2.ref @@ -1,4 +1,14 @@ +Eliminated node at line 66: on_miss; +Eliminated node at line 67: rewrite_src_dst_mac; Eliminated node at line 75: rewrite_mac.apply(); +Eliminated node at line 97: set_vrf; +Eliminated node at line 106: on_miss; +Eliminated node at line 107: fib_hit_nexthop; +Eliminated node at line 117: on_miss; +Eliminated node at line 118: fib_hit_nexthop; +Eliminated node at line 128: on_miss; +Eliminated node at line 129: set_egress_details; +Eliminated node at line 138: set_bd; Eliminated node at line 147: port_mapping.apply(); Eliminated node at line 148: bd.apply(); Eliminated node at line 150: on_miss: { diff --git a/targets/bmv2/test/testdata/config/basic_routing-bmv2.ref b/targets/bmv2/test/testdata/config/basic_routing-bmv2.ref index e4735e18..76cffc15 100644 --- a/targets/bmv2/test/testdata/config/basic_routing-bmv2.ref +++ b/targets/bmv2/test/testdata/config/basic_routing-bmv2.ref @@ -1,4 +1,14 @@ +Eliminated node at line 66: on_miss; +Eliminated node at line 67: rewrite_src_dst_mac; Eliminated node at line 75: rewrite_mac.apply(); +Eliminated node at line 97: set_vrf; +Eliminated node at line 106: on_miss; +Eliminated node at line 107: fib_hit_nexthop; +Eliminated node at line 117: on_miss; +Eliminated node at line 118: fib_hit_nexthop; +Eliminated node at line 128: on_miss; +Eliminated node at line 129: set_egress_details; +Eliminated node at line 138: set_bd; Eliminated node at line 147: port_mapping.apply(); Eliminated node at line 148: bd.apply(); Eliminated node at line 150: on_miss: { diff --git a/targets/bmv2/test/testdata/config/dash-pipeline-v1model-bmv2.ref b/targets/bmv2/test/testdata/config/dash-pipeline-v1model-bmv2.ref index 6532ecb8..3e248daf 100644 --- a/targets/bmv2/test/testdata/config/dash-pipeline-v1model-bmv2.ref +++ b/targets/bmv2/test/testdata/config/dash-pipeline-v1model-bmv2.ref @@ -14,13 +14,45 @@ Eliminated node at line 574: meta.overlay_data.dmac = (overlay_dmac == 0 ? meta. Eliminated node at line 365: hdr.u0_ethernet.dst_addr = (overlay_dmac == 0 ? hdr.u0_ethernet.dst_addr : overlay_dmac); Eliminated node at line 365: hdr.u0_ethernet.dst_addr = (overlay_dmac == 0 ? hdr.u0_ethernet.dst_addr : overlay_dmac); Eliminated node at line 365: hdr.u0_ethernet.dst_addr = (overlay_dmac == 0 ? hdr.u0_ethernet.dst_addr : overlay_dmac); +Eliminated node at line 1024: accept; Eliminated node at line 1051: if (dash_tunnel_dscp_mode == dash_tunnel_dscp_mode_t.PIPE_MODEL) { Eliminated node at line 1056: if (meta.is_overlay_ip_v6 == 1) { Eliminated node at line 1074: if (meta.direction == dash_direction_t.OUTBOUND) { +Eliminated node at line 1098: set_eni_attrs; +Eliminated node at line 1114: permit; +Eliminated node at line 1126: tunnel_decap(hdr, meta); +Eliminated node at line 1127: tunnel_decap_pa_validate; Eliminated node at line 1134: if (meta.is_overlay_ip_v6 == 1) { +Eliminated node at line 871: set_eni; +Eliminated node at line 486: permit; +Eliminated node at line 487: permit_and_continue; +Eliminated node at line 489: deny_and_continue; +Eliminated node at line 505: permit; +Eliminated node at line 506: permit_and_continue; +Eliminated node at line 508: deny_and_continue; +Eliminated node at line 524: permit; +Eliminated node at line 525: permit_and_continue; +Eliminated node at line 527: deny_and_continue; +Eliminated node at line 714: route_vnet_direct(hdr, meta); +Eliminated node at line 715: route_direct(hdr, meta); +Eliminated node at line 716: route_service_tunnel(hdr, meta); +Eliminated node at line 739: set_tunnel_mapping(hdr, meta); +Eliminated node at line 740: set_private_link_mapping(hdr, meta); +Eliminated node at line 754: set_vnet_attrs; +Eliminated node at line 486: permit; +Eliminated node at line 487: permit_and_continue; +Eliminated node at line 489: deny_and_continue; +Eliminated node at line 505: permit; +Eliminated node at line 506: permit_and_continue; +Eliminated node at line 508: deny_and_continue; +Eliminated node at line 524: permit; +Eliminated node at line 525: permit_and_continue; +Eliminated node at line 527: deny_and_continue; Eliminated node at line 988: } else if (packet_action == 1) { Eliminated node at line 897: if (meta.is_overlay_ip_v6 == 1) { Eliminated node at line 901: if (meta.is_overlay_ip_v6 == 0) { +Eliminated node at line 911: check_ip_addr_family; +Eliminated node at line 923: set_policy_meter_class; Eliminated node at line 1152: if (meta.is_fast_path_icmp_flow_redirection_packet) { Eliminated node at line 1156: meta.encap_data.underlay_sip = hdr.u0_ipv4.dst_addr; Eliminated node at line 1155: if (vip.apply().hit) { diff --git a/targets/bmv2/test/testdata/config/pins_middleblock.ref b/targets/bmv2/test/testdata/config/pins_middleblock.ref index 625956a9..ef03ba57 100644 --- a/targets/bmv2/test/testdata/config/pins_middleblock.ref +++ b/targets/bmv2/test/testdata/config/pins_middleblock.ref @@ -1,3 +1,42 @@ +Eliminated node at line 985: @proto_id(1) mark_for_tunnel_decap_and_set_vrf; +Eliminated node at line 849: @proto_id(1) disable_vlan_checks; +Eliminated node at line 1463: @proto_id(1) set_vrf; +Eliminated node at line 484: @proto_id(2) set_nexthop_id(local_metadata); +Eliminated node at line 485: @proto_id(3) set_wcmp_group_id; +Eliminated node at line 486: @proto_id(5) set_nexthop_id_and_metadata; +Eliminated node at line 487: @proto_id(6) set_wcmp_group_id_and_metadata; +Eliminated node at line 488: @proto_id(7) set_metadata_and_drop; +Eliminated node at line 500: @proto_id(2) set_nexthop_id(local_metadata); +Eliminated node at line 501: @proto_id(3) set_wcmp_group_id; +Eliminated node at line 502: @proto_id(5) set_nexthop_id_and_metadata; +Eliminated node at line 503: @proto_id(6) set_wcmp_group_id_and_metadata; +Eliminated node at line 504: @proto_id(7) set_metadata_and_drop; +Eliminated node at line 515: @proto_id(1) set_multicast_group_id; +Eliminated node at line 525: @proto_id(1) set_multicast_group_id; +Eliminated node at line 1219: @proto_id(1) acl_copy(); +Eliminated node at line 1220: @proto_id(2) acl_trap(); +Eliminated node at line 1221: @proto_id(3) acl_forward(); +Eliminated node at line 1222: @proto_id(4) acl_mirror(); +Eliminated node at line 1223: @proto_id(5) acl_drop(local_metadata); +Eliminated node at line 1336: @proto_id(4) acl_forward(); +Eliminated node at line 1337: @proto_id(1) acl_mirror(); +Eliminated node at line 1338: @proto_id(2) redirect_to_nexthop(); +Eliminated node at line 1339: @proto_id(3) redirect_to_ipmc_group(); +Eliminated node at line 1381: @proto_id(1) acl_forward(); +Eliminated node at line 1382: @proto_id(2) acl_drop(local_metadata); +Eliminated node at line 1383: @proto_id(3) acl_deny(); +Eliminated node at line 562: @proto_id(1) set_dst_mac; +Eliminated node at line 583: @proto_id(1) set_port_and_src_mac; +Eliminated node at line 584: @proto_id(2) set_port_and_src_mac_and_vlan_id; +Eliminated node at line 615: @proto_id(1) set_nexthop; +Eliminated node at line 616: @proto_id(2) set_p2p_tunnel_encap_nexthop; +Eliminated node at line 617: @proto_id(3) set_ip_nexthop; +Eliminated node at line 618: @proto_id(4) set_ip_nexthop_and_disable_rewrites; +Eliminated node at line 635: @proto_id(1) mark_for_p2p_tunnel_encap; +Eliminated node at line 648: @proto_id(1) set_nexthop_id(local_metadata); +Eliminated node at line 734: @proto_id(1) mirror_as_ipv4_erspan; +Eliminated node at line 735: @proto_id(2) mirror_with_vlan_tag_and_ipfix_encapsulation; +Eliminated node at line 708: @proto_id(1) ingress_clone; Eliminated node at line 992: ipv6_tunnel_termination_table.apply(); Eliminated node at line 862: disable_vlan_checks_table.apply(); Eliminated node at line 1540: acl_pre_ingress_table.apply(); @@ -16,6 +55,8 @@ Eliminated node at line 660: if (local_metadata.nexthop_id_valid) { Eliminated node at line 673: if (local_metadata.acl_drop) { Eliminated node at line 742: if (local_metadata.marked_to_mirror) { Eliminated node at line 712: ingress_clone_table.apply(); +Eliminated node at line 931: @proto_id(1) set_multicast_src_mac; +Eliminated node at line 1061: @proto_id(1) acl_drop(local_metadata); Eliminated node at line (unknown): Eliminated node at line 936: multicast_router_interface_table.apply(); Eliminated node at line 946: if (local_metadata.enable_src_mac_rewrite) { diff --git a/targets/bmv2/test/testdata/config/v1model_entries_table.ref b/targets/bmv2/test/testdata/config/v1model_entries_table.ref index 6bfb71af..35c261a4 100644 --- a/targets/bmv2/test/testdata/config/v1model_entries_table.ref +++ b/targets/bmv2/test/testdata/config/v1model_entries_table.ref @@ -1,3 +1,4 @@ +Eliminated node at line 68: check(); Eliminated node at line 77: toggle_check.apply(); Eliminated node at line 80: if (check_l3) { statement_count_before:7 diff --git a/targets/bmv2/test/testdata/control-hs-index-test6.ref b/targets/bmv2/test/testdata/control-hs-index-test6.ref index 1d6cef28..0e28828a 100644 --- a/targets/bmv2/test/testdata/control-hs-index-test6.ref +++ b/targets/bmv2/test/testdata/control-hs-index-test6.ref @@ -1,3 +1,4 @@ +Eliminated node at line 47: actions = { set_data; } Eliminated node at line 51: t.apply(); statement_count_before:13 statement_count_after:8 diff --git a/targets/bmv2/test/testdata/copyprop1.ref b/targets/bmv2/test/testdata/copyprop1.ref index 3280fca0..3ba4c7b8 100644 --- a/targets/bmv2/test/testdata/copyprop1.ref +++ b/targets/bmv2/test/testdata/copyprop1.ref @@ -1,3 +1,4 @@ +Eliminated node at line 33: actions = { a1; } Eliminated node at line 40: t1.apply(); Eliminated node at line 42: t1.apply(); statement_count_before:7 diff --git a/targets/bmv2/test/testdata/custom-type-restricted-fields.ref b/targets/bmv2/test/testdata/custom-type-restricted-fields.ref index 40710cc7..7488ea57 100644 --- a/targets/bmv2/test/testdata/custom-type-restricted-fields.ref +++ b/targets/bmv2/test/testdata/custom-type-restricted-fields.ref @@ -1,3 +1,5 @@ +Eliminated node at line 151: set_addr; +Eliminated node at line 152: my_drop; Eliminated node at line 158: t1.apply(); statement_count_before:9 statement_count_after:8 diff --git a/targets/bmv2/test/testdata/dash-pipeline-v1model-bmv2.ref b/targets/bmv2/test/testdata/dash-pipeline-v1model-bmv2.ref index c2b623ea..153dd4fa 100644 --- a/targets/bmv2/test/testdata/dash-pipeline-v1model-bmv2.ref +++ b/targets/bmv2/test/testdata/dash-pipeline-v1model-bmv2.ref @@ -17,15 +17,53 @@ Eliminated node at line 335: hdr.customer_ethernet.dst_addr = (overlay_dmac == 0 Eliminated node at line 365: hdr.u0_ethernet.dst_addr = (overlay_dmac == 0 ? hdr.u0_ethernet.dst_addr : overlay_dmac); Eliminated node at line 365: hdr.u0_ethernet.dst_addr = (overlay_dmac == 0 ? hdr.u0_ethernet.dst_addr : overlay_dmac); Eliminated node at line 365: hdr.u0_ethernet.dst_addr = (overlay_dmac == 0 ? hdr.u0_ethernet.dst_addr : overlay_dmac); +Eliminated node at line 1024: accept; +Eliminated node at line 1038: set_appliance; Eliminated node at line 1051: if (dash_tunnel_dscp_mode == dash_tunnel_dscp_mode_t.PIPE_MODEL) { Eliminated node at line 1056: if (meta.is_overlay_ip_v6 == 1) { Eliminated node at line 1074: if (meta.direction == dash_direction_t.OUTBOUND) { +Eliminated node at line 1098: set_eni_attrs; +Eliminated node at line 1114: permit; +Eliminated node at line 1126: tunnel_decap(hdr, meta); +Eliminated node at line 1127: tunnel_decap_pa_validate; Eliminated node at line 1134: if (meta.is_overlay_ip_v6 == 1) { Eliminated node at line 1138: if (meta.is_overlay_ip_v6 == 0) { +Eliminated node at line 1148: set_acl_group_attrs(); +Eliminated node at line 848: set_outbound_direction; +Eliminated node at line 871: set_eni; +Eliminated node at line 486: permit; +Eliminated node at line 487: permit_and_continue; +Eliminated node at line 489: deny_and_continue; +Eliminated node at line 505: permit; +Eliminated node at line 506: permit_and_continue; +Eliminated node at line 508: deny_and_continue; +Eliminated node at line 524: permit; +Eliminated node at line 525: permit_and_continue; +Eliminated node at line 527: deny_and_continue; +Eliminated node at line 713: route_vnet(hdr, meta); +Eliminated node at line 714: route_vnet_direct(hdr, meta); +Eliminated node at line 715: route_direct(hdr, meta); +Eliminated node at line 716: route_service_tunnel(hdr, meta); +Eliminated node at line 739: set_tunnel_mapping(hdr, meta); +Eliminated node at line 740: set_private_link_mapping(hdr, meta); +Eliminated node at line 754: set_vnet_attrs; +Eliminated node at line 486: permit; +Eliminated node at line 487: permit_and_continue; +Eliminated node at line 489: deny_and_continue; +Eliminated node at line 505: permit; +Eliminated node at line 506: permit_and_continue; +Eliminated node at line 508: deny_and_continue; +Eliminated node at line 524: permit; +Eliminated node at line 525: permit_and_continue; +Eliminated node at line 527: deny_and_continue; Eliminated node at line 987: meta.dropped = true; Eliminated node at line 988: } else if (packet_action == 1) { +Eliminated node at line 1000: pkt_act; Eliminated node at line 897: if (meta.is_overlay_ip_v6 == 1) { Eliminated node at line 901: if (meta.is_overlay_ip_v6 == 0) { +Eliminated node at line 911: check_ip_addr_family; +Eliminated node at line 923: set_policy_meter_class; +Eliminated node at line 939: meter_bucket_action; Eliminated node at line 1152: if (meta.is_fast_path_icmp_flow_redirection_packet) { Eliminated node at line 1156: meta.encap_data.underlay_sip = hdr.u0_ipv4.dst_addr; Eliminated node at line 1155: if (vip.apply().hit) { diff --git a/targets/bmv2/test/testdata/flag_lost-bmv2.ref b/targets/bmv2/test/testdata/flag_lost-bmv2.ref index d3976814..4a5651c0 100644 --- a/targets/bmv2/test/testdata/flag_lost-bmv2.ref +++ b/targets/bmv2/test/testdata/flag_lost-bmv2.ref @@ -1,3 +1,5 @@ +Eliminated node at line 79: ipv4_forward; drop; +Eliminated node at line 79: ipv4_forward; drop; Eliminated node at line 89: ipv4_lpm.apply(); Eliminated node at line (unknown): statement_count_before:9 diff --git a/targets/bmv2/test/testdata/flowlet_switching-bmv2.ref b/targets/bmv2/test/testdata/flowlet_switching-bmv2.ref index cd67c126..0671108f 100644 --- a/targets/bmv2/test/testdata/flowlet_switching-bmv2.ref +++ b/targets/bmv2/test/testdata/flowlet_switching-bmv2.ref @@ -1,4 +1,14 @@ +Eliminated node at line 95: rewrite_mac; +Eliminated node at line 96: _drop; Eliminated node at line 106: send_frame.apply(); +Eliminated node at line 141: _drop; +Eliminated node at line 142: set_ecmp_select; +Eliminated node at line 153: _drop; +Eliminated node at line 154: set_nhop; +Eliminated node at line 165: lookup_flowlet_map; +Eliminated node at line 172: set_dmac; +Eliminated node at line 173: _drop; +Eliminated node at line 184: update_flowlet_id; Eliminated node at line 191: flowlet.apply(); Eliminated node at line 192: if (meta.ingress_metadata.flow_ipg > 32w50000) Eliminated node at line 195: ecmp_group.apply(); diff --git a/targets/bmv2/test/testdata/gauntlet_action_return-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_action_return-bmv2.ref index c1c7f2c1..eb5226ca 100644 --- a/targets/bmv2/test/testdata/gauntlet_action_return-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_action_return-bmv2.ref @@ -1,4 +1,5 @@ Eliminated node at line 25: val = 8w2; +Eliminated node at line 39: do_action(h.h.a); Eliminated node at line 43: simple_table.apply(); Replaced node at line 36: tmp_key : exact @name("bKiScA") ; with 2 statement_count_before:9 diff --git a/targets/bmv2/test/testdata/gauntlet_exit_combination_1-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_exit_combination_1-bmv2.ref index 7864d465..67f1ba18 100644 --- a/targets/bmv2/test/testdata/gauntlet_exit_combination_1-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_exit_combination_1-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 42: dummy(); Eliminated node at line 49: dummy: { Eliminated node at line 56: do_action(); statement_count_before:8 diff --git a/targets/bmv2/test/testdata/gauntlet_exit_combination_10-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_exit_combination_10-bmv2.ref index bcc3b605..85454fca 100644 --- a/targets/bmv2/test/testdata/gauntlet_exit_combination_10-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_exit_combination_10-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 37: exit_action(); Eliminated node at line 42: simple_table.apply(); statement_count_before:6 statement_count_after:3 diff --git a/targets/bmv2/test/testdata/gauntlet_exit_combination_11-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_exit_combination_11-bmv2.ref index 34882f6b..81f5127c 100644 --- a/targets/bmv2/test/testdata/gauntlet_exit_combination_11-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_exit_combination_11-bmv2.ref @@ -1,4 +1,4 @@ - +Eliminated node at line 40: simple_action(); statement_count_before:6 statement_count_after:3 cyclomatic_complexity:5 diff --git a/targets/bmv2/test/testdata/gauntlet_exit_combination_13-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_exit_combination_13-bmv2.ref index 9a8cbb40..0ba5e362 100644 --- a/targets/bmv2/test/testdata/gauntlet_exit_combination_13-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_exit_combination_13-bmv2.ref @@ -1,4 +1,4 @@ - +Eliminated node at line 35: simple_action(); statement_count_before:6 statement_count_after:4 cyclomatic_complexity:5 diff --git a/targets/bmv2/test/testdata/gauntlet_exit_combination_14-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_exit_combination_14-bmv2.ref index 48afd04f..ab384b33 100644 --- a/targets/bmv2/test/testdata/gauntlet_exit_combination_14-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_exit_combination_14-bmv2.ref @@ -1,4 +1,4 @@ - +Eliminated node at line 35: exit_action(); statement_count_before:6 statement_count_after:3 cyclomatic_complexity:4 diff --git a/targets/bmv2/test/testdata/gauntlet_exit_combination_15-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_exit_combination_15-bmv2.ref index 38861f61..15b646c1 100644 --- a/targets/bmv2/test/testdata/gauntlet_exit_combination_15-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_exit_combination_15-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 36: simple_action(); Eliminated node at line 42: simple_action: { statement_count_before:12 statement_count_after:5 diff --git a/targets/bmv2/test/testdata/gauntlet_exit_combination_16-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_exit_combination_16-bmv2.ref index 88448b2a..0d893db1 100644 --- a/targets/bmv2/test/testdata/gauntlet_exit_combination_16-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_exit_combination_16-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 35: dummy_action(); Eliminated node at line 42: dummy_action: { Eliminated node at line (unknown): statement_count_before:7 diff --git a/targets/bmv2/test/testdata/gauntlet_exit_combination_17-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_exit_combination_17-bmv2.ref index 0b08acad..4a1e2b1d 100644 --- a/targets/bmv2/test/testdata/gauntlet_exit_combination_17-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_exit_combination_17-bmv2.ref @@ -1,3 +1,5 @@ +Eliminated node at line 33: dummy_action(); +Eliminated node at line 41: dummy_action(); Eliminated node at line 46: dummy_action: { Eliminated node at line (unknown): statement_count_before:7 diff --git a/targets/bmv2/test/testdata/gauntlet_exit_combination_19-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_exit_combination_19-bmv2.ref index 0a1039bb..a71244ac 100644 --- a/targets/bmv2/test/testdata/gauntlet_exit_combination_19-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_exit_combination_19-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 37: exit_action(); Eliminated node at line 43: bit<16> assign = simple_eq || simple_table_2.apply().hit ? 16w2 : 16w3; statement_count_before:10 statement_count_after:8 diff --git a/targets/bmv2/test/testdata/gauntlet_exit_combination_2-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_exit_combination_2-bmv2.ref index 48c701de..4d152697 100644 --- a/targets/bmv2/test/testdata/gauntlet_exit_combination_2-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_exit_combination_2-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 34: dummy(); Eliminated node at line 39: dummy: { statement_count_before:6 statement_count_after:3 diff --git a/targets/bmv2/test/testdata/gauntlet_exit_combination_22-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_exit_combination_22-bmv2.ref index 755a912c..aa17ee0d 100644 --- a/targets/bmv2/test/testdata/gauntlet_exit_combination_22-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_exit_combination_22-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 36: exit_action(); Eliminated node at line 40: h.eth_hdr.eth_type = (h.eth_hdr.eth_type == 4 ? (tbl.apply().hit ? 16w1 : 16w2) : 16w3); Eliminated node at line 40: h.eth_hdr.eth_type = (h.eth_hdr.eth_type == 4 ? (tbl.apply().hit ? 16w1 : 16w2) : 16w3); statement_count_before:11 diff --git a/targets/bmv2/test/testdata/gauntlet_exit_combination_23-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_exit_combination_23-bmv2.ref index cdc2d053..8bc5d061 100644 --- a/targets/bmv2/test/testdata/gauntlet_exit_combination_23-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_exit_combination_23-bmv2.ref @@ -1,4 +1,4 @@ - +Eliminated node at line 37: simple_action(); statement_count_before:7 statement_count_after:4 cyclomatic_complexity:5 diff --git a/targets/bmv2/test/testdata/gauntlet_exit_combination_3-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_exit_combination_3-bmv2.ref index ab16352c..907c8ba5 100644 --- a/targets/bmv2/test/testdata/gauntlet_exit_combination_3-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_exit_combination_3-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 36: do_action(h.eth_hdr.src_addr); Eliminated node at line (unknown): statement_count_before:10 statement_count_after:7 diff --git a/targets/bmv2/test/testdata/gauntlet_exit_combination_4-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_exit_combination_4-bmv2.ref index 1f4ccd1a..0044562c 100644 --- a/targets/bmv2/test/testdata/gauntlet_exit_combination_4-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_exit_combination_4-bmv2.ref @@ -1,4 +1,4 @@ - +Eliminated node at line 36: exit_action(); statement_count_before:7 statement_count_after:4 cyclomatic_complexity:4 diff --git a/targets/bmv2/test/testdata/gauntlet_exit_combination_9-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_exit_combination_9-bmv2.ref index 85714839..c24fb7b6 100644 --- a/targets/bmv2/test/testdata/gauntlet_exit_combination_9-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_exit_combination_9-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 38: simple_action(); Eliminated node at line 43: simple_action: { Eliminated node at line (unknown): statement_count_before:8 diff --git a/targets/bmv2/test/testdata/gauntlet_index_2-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_index_2-bmv2.ref index 77e3d5d7..508d4d38 100644 --- a/targets/bmv2/test/testdata/gauntlet_index_2-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_index_2-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 43: simple_action(); Eliminated node at line 50: simple_table.apply(); statement_count_before:12 statement_count_after:11 diff --git a/targets/bmv2/test/testdata/gauntlet_instance_overwrite-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_instance_overwrite-bmv2.ref index 8093a425..11858fbc 100644 --- a/targets/bmv2/test/testdata/gauntlet_instance_overwrite-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_instance_overwrite-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 35: do_action(); Eliminated node at line 40: BfyXpa.apply(); Replaced node at line 39: val = tmp_1.a; with 3 statement_count_before:5 diff --git a/targets/bmv2/test/testdata/gauntlet_mux_hdr-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_mux_hdr-bmv2.ref index 0c2e07a3..2ec674e4 100644 --- a/targets/bmv2/test/testdata/gauntlet_mux_hdr-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_mux_hdr-bmv2.ref @@ -1,4 +1,5 @@ Eliminated node at line 26: if (tmp2[0].a <= 3) { +Eliminated node at line 43: simple_action(); Eliminated node at line 47: simple_table.apply(); Replaced node at line 26: if (tmp2[0].a <= 3) { with 0 Replaced node at line 40: sm.egress_spec : exact @name("key") ; with 0 diff --git a/targets/bmv2/test/testdata/gauntlet_nested_table_calls-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_nested_table_calls-bmv2.ref index 3b89bd8c..000a78b8 100644 --- a/targets/bmv2/test/testdata/gauntlet_nested_table_calls-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_nested_table_calls-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 40: exit_action(); Eliminated node at line 44: h.eth_hdr.eth_type = simple_function((exit_table.apply().hit ? 16w1 : 16w2)); Eliminated node at line 44: h.eth_hdr.eth_type = simple_function((exit_table.apply().hit ? 16w1 : 16w2)); statement_count_before:8 diff --git a/targets/bmv2/test/testdata/gauntlet_switch_exclusivity-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_switch_exclusivity-bmv2.ref index 3ac7282a..96964392 100644 --- a/targets/bmv2/test/testdata/gauntlet_switch_exclusivity-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_switch_exclusivity-bmv2.ref @@ -1,3 +1,5 @@ +Eliminated node at line 31: action_0(); +Eliminated node at line 32: action_1(); Eliminated node at line 38: action_0: { Eliminated node at line 41: action_1: { statement_count_before:3 diff --git a/targets/bmv2/test/testdata/gauntlet_switch_nested_table_apply-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_switch_nested_table_apply-bmv2.ref index 992fc48b..4ac424ad 100644 --- a/targets/bmv2/test/testdata/gauntlet_switch_nested_table_apply-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_switch_nested_table_apply-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 37: set_valid_action(h); Eliminated node at line 51: simple_table_1.apply(); statement_count_before:7 statement_count_after:6 diff --git a/targets/bmv2/test/testdata/gauntlet_switch_shadowing-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_switch_shadowing-bmv2.ref index 2954dda5..76e52067 100644 --- a/targets/bmv2/test/testdata/gauntlet_switch_shadowing-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_switch_shadowing-bmv2.ref @@ -1,3 +1,5 @@ +Eliminated node at line 40: action_1(); +Eliminated node at line 41: action_2(); Eliminated node at line 46: action_1: { Eliminated node at line 49: action_2: { statement_count_before:4 diff --git a/targets/bmv2/test/testdata/gauntlet_table_call_in_expression-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_table_call_in_expression-bmv2.ref index 2bdb7d02..9a951240 100644 --- a/targets/bmv2/test/testdata/gauntlet_table_call_in_expression-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_table_call_in_expression-bmv2.ref @@ -1,3 +1,5 @@ +Eliminated node at line 43: simple_action; +Eliminated node at line 44: exit_action; Eliminated node at line 48: if(simple_table.apply().hit && h.eth_hdr.src_addr == h.eth_hdr.dst_addr) { Eliminated node at line 48: if(simple_table.apply().hit && h.eth_hdr.src_addr == h.eth_hdr.dst_addr) { Eliminated node at line 48: if(simple_table.apply().hit && h.eth_hdr.src_addr == h.eth_hdr.dst_addr) { diff --git a/targets/bmv2/test/testdata/gauntlet_uninitialized_bool_struct-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_uninitialized_bool_struct-bmv2.ref index 67c45763..32bf06b8 100644 --- a/targets/bmv2/test/testdata/gauntlet_uninitialized_bool_struct-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_uninitialized_bool_struct-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 40: dummy_action(h.eth_hdr.eth_type, tmp); Eliminated node at line 45: dummy_action: { statement_count_before:8 statement_count_after:5 diff --git a/targets/bmv2/test/testdata/gauntlet_variable_shadowing-bmv2.ref b/targets/bmv2/test/testdata/gauntlet_variable_shadowing-bmv2.ref index a9b4f936..290adcb7 100644 --- a/targets/bmv2/test/testdata/gauntlet_variable_shadowing-bmv2.ref +++ b/targets/bmv2/test/testdata/gauntlet_variable_shadowing-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 34: a_0(); Eliminated node at line 42: t_0.apply(); statement_count_before:7 statement_count_after:6 diff --git a/targets/bmv2/test/testdata/ipv6-switch-ml-bmv2.ref b/targets/bmv2/test/testdata/ipv6-switch-ml-bmv2.ref index d546957a..9e0ac3d9 100644 --- a/targets/bmv2/test/testdata/ipv6-switch-ml-bmv2.ref +++ b/targets/bmv2/test/testdata/ipv6-switch-ml-bmv2.ref @@ -1,4 +1,7 @@ +Eliminated node at line 68: actions = {set_mcast_grp;} Eliminated node at line 73: ipv6_tbl.apply(); +Eliminated node at line 88: actions = { set_out_bd; } +Eliminated node at line 101: actions = {rewrite_mac; drop;} Eliminated node at line 107: get_multicast_copy_out_bd.apply(); Replaced node at line 108: send_frame.apply(); with drop(); Replaced node at line 85: standard_metadata.mcast_grp : exact; with 0 diff --git a/targets/bmv2/test/testdata/issue-2123.ref b/targets/bmv2/test/testdata/issue-2123.ref index 05d79037..301449a9 100644 --- a/targets/bmv2/test/testdata/issue-2123.ref +++ b/targets/bmv2/test/testdata/issue-2123.ref @@ -1,4 +1,14 @@ +Eliminated node at line 105: on_miss; +Eliminated node at line 106: rewrite_src_dst_mac; Eliminated node at line 114: rewrite_mac.apply(); +Eliminated node at line 136: set_vrf; +Eliminated node at line 145: on_miss; +Eliminated node at line 146: fib_hit_nexthop; +Eliminated node at line 156: on_miss; +Eliminated node at line 157: fib_hit_nexthop; +Eliminated node at line 167: on_miss; +Eliminated node at line 168: set_egress_details; +Eliminated node at line 177: set_bd; Eliminated node at line 186: port_mapping.apply(); Eliminated node at line 187: bd.apply(); Eliminated node at line 189: on_miss: { diff --git a/targets/bmv2/test/testdata/issue-3312-graph-bmv2.ref b/targets/bmv2/test/testdata/issue-3312-graph-bmv2.ref index af43a4b8..b06dd0ac 100644 --- a/targets/bmv2/test/testdata/issue-3312-graph-bmv2.ref +++ b/targets/bmv2/test/testdata/issue-3312-graph-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 54: actions = { add; sub; } Replaced node at line 73: t2.apply(); with add_1/add(); statement_count_before:6 statement_count_after:5 diff --git a/targets/bmv2/test/testdata/issue1107.ref b/targets/bmv2/test/testdata/issue1107.ref index 7cb8bb69..ddeeebe3 100644 --- a/targets/bmv2/test/testdata/issue1107.ref +++ b/targets/bmv2/test/testdata/issue1107.ref @@ -1,3 +1,4 @@ +Eliminated node at line 27: actions = { set_eg; } Replaced node at line 24: meta.f1 : exact; with 0 Replaced node at line 25: meta.f2 : exact; with 0 statement_count_before:2 diff --git a/targets/bmv2/test/testdata/issue1352-bmv2.ref b/targets/bmv2/test/testdata/issue1352-bmv2.ref index 873d8d1f..25f82169 100644 --- a/targets/bmv2/test/testdata/issue1352-bmv2.ref +++ b/targets/bmv2/test/testdata/issue1352-bmv2.ref @@ -1,5 +1,10 @@ +Eliminated node at line 116: set_dmac; +Eliminated node at line 117: drop; +Eliminated node at line 134: set_nhop; +Eliminated node at line 135: drop; Eliminated node at line 148: ipv4_lpm.apply(); Eliminated node at line 149: forward.apply(); +Eliminated node at line 174: rewrite_mac; Eliminated node at line 182: send_frame.apply(); Replaced node at line 171: standard_metadata.egress_port: exact; with 0 statement_count_before:18 diff --git a/targets/bmv2/test/testdata/issue1412-bmv2.ref b/targets/bmv2/test/testdata/issue1412-bmv2.ref index 84f4d9c2..9254c27f 100644 --- a/targets/bmv2/test/testdata/issue1412-bmv2.ref +++ b/targets/bmv2/test/testdata/issue1412-bmv2.ref @@ -1,4 +1,5 @@ Eliminated node at line 38: if (meta.field == 0) { +Eliminated node at line 45: actions = { set_true; } Eliminated node at line 49: change_cond.apply(); Replaced node at line 38: if (meta.field == 0) { with 0 Replaced node at line 44: key = { ostd.egress_spec: exact; } with 0 diff --git a/targets/bmv2/test/testdata/issue1538.ref b/targets/bmv2/test/testdata/issue1538.ref index 351e03ad..c491cff5 100644 --- a/targets/bmv2/test/testdata/issue1538.ref +++ b/targets/bmv2/test/testdata/issue1538.ref @@ -1,3 +1,4 @@ +Eliminated node at line 81: set_port; Replaced node at line 87: mac_da.apply(); with my_drop_0/my_drop(); statement_count_before:12 statement_count_after:12 diff --git a/targets/bmv2/test/testdata/issue1544-1-bmv2.ref b/targets/bmv2/test/testdata/issue1544-1-bmv2.ref index 713370b0..74f9d243 100644 --- a/targets/bmv2/test/testdata/issue1544-1-bmv2.ref +++ b/targets/bmv2/test/testdata/issue1544-1-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 76: set_port; Replaced node at line 82: mac_da.apply(); with my_drop_0/my_drop(); statement_count_before:10 statement_count_after:10 diff --git a/targets/bmv2/test/testdata/issue1544-2-bmv2.ref b/targets/bmv2/test/testdata/issue1544-2-bmv2.ref index 5d50ecc0..6154de9b 100644 --- a/targets/bmv2/test/testdata/issue1544-2-bmv2.ref +++ b/targets/bmv2/test/testdata/issue1544-2-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 74: set_port; Replaced node at line 80: mac_da.apply(); with my_drop_0/my_drop(); statement_count_before:10 statement_count_after:10 diff --git a/targets/bmv2/test/testdata/issue1544-bmv2.ref b/targets/bmv2/test/testdata/issue1544-bmv2.ref index 5d50ecc0..6154de9b 100644 --- a/targets/bmv2/test/testdata/issue1544-bmv2.ref +++ b/targets/bmv2/test/testdata/issue1544-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 74: set_port; Replaced node at line 80: mac_da.apply(); with my_drop_0/my_drop(); statement_count_before:10 statement_count_after:10 diff --git a/targets/bmv2/test/testdata/issue1560-bmv2.ref b/targets/bmv2/test/testdata/issue1560-bmv2.ref index c4b85148..72b066be 100644 --- a/targets/bmv2/test/testdata/issue1560-bmv2.ref +++ b/targets/bmv2/test/testdata/issue1560-bmv2.ref @@ -1,3 +1,9 @@ +Eliminated node at line 131: foo1; +Eliminated node at line 132: foo2; +Eliminated node at line 141: foo1; +Eliminated node at line 142: foo2; +Eliminated node at line 149: foo1; +Eliminated node at line 150: foo2; Eliminated node at line 160: t0.apply(); Eliminated node at line 161: t1.apply(); Eliminated node at line 176: t2.apply(); diff --git a/targets/bmv2/test/testdata/issue1595.ref b/targets/bmv2/test/testdata/issue1595.ref index eae80328..b6cbf187 100644 --- a/targets/bmv2/test/testdata/issue1595.ref +++ b/targets/bmv2/test/testdata/issue1595.ref @@ -1,3 +1,7 @@ +Eliminated node at line 69: actions = { a1; a2; a3; a4; NoAction; } +Eliminated node at line 69: actions = { a1; a2; a3; a4; NoAction; } +Eliminated node at line 69: actions = { a1; a2; a3; a4; NoAction; } +Eliminated node at line 69: actions = { a1; a2; a3; a4; NoAction; } Eliminated node at line 75: a1: { } Eliminated node at line 76: a2: { hdr.ethernet.srcAddr[39:32] = 2; } Eliminated node at line 77: a3: { hdr.ethernet.srcAddr[39:32] = 3; } diff --git a/targets/bmv2/test/testdata/issue1630-bmv2.ref b/targets/bmv2/test/testdata/issue1630-bmv2.ref index 11076927..7c9e1513 100644 --- a/targets/bmv2/test/testdata/issue1630-bmv2.ref +++ b/targets/bmv2/test/testdata/issue1630-bmv2.ref @@ -1,3 +1,5 @@ +Eliminated node at line 137: ipv4_forward; +Eliminated node at line 138: drop; Eliminated node at line 149: ipv4_lpm.apply(); statement_count_before:12 statement_count_after:11 diff --git a/targets/bmv2/test/testdata/issue1653-complex-bmv2.ref b/targets/bmv2/test/testdata/issue1653-complex-bmv2.ref index 823f1215..f89ccfec 100644 --- a/targets/bmv2/test/testdata/issue1653-complex-bmv2.ref +++ b/targets/bmv2/test/testdata/issue1653-complex-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 85: do_act; Eliminated node at line 91: tns.apply(); Replaced node at line 82: local_metadata.row0.alt0.valid : exact; with 0 statement_count_before:12 diff --git a/targets/bmv2/test/testdata/issue1713-bmv2.ref b/targets/bmv2/test/testdata/issue1713-bmv2.ref index 41889e89..cf5b4162 100644 --- a/targets/bmv2/test/testdata/issue1713-bmv2.ref +++ b/targets/bmv2/test/testdata/issue1713-bmv2.ref @@ -1,3 +1,6 @@ +Eliminated node at line 40: case1; +Eliminated node at line 41: case2; +Eliminated node at line 42: case3; Replaced node at line 46: apply { t.apply(); } with case0(); statement_count_before:7 statement_count_after:7 diff --git a/targets/bmv2/test/testdata/issue1739-bmv2.ref b/targets/bmv2/test/testdata/issue1739-bmv2.ref index f24cd1a6..448d6cb3 100644 --- a/targets/bmv2/test/testdata/issue1739-bmv2.ref +++ b/targets/bmv2/test/testdata/issue1739-bmv2.ref @@ -1,3 +1,5 @@ +Eliminated node at line 98: set_output; +Eliminated node at line 109: my_drop(standard_metadata); Eliminated node at line 117: ipv4_sa_filter.apply(); Replaced node at line 118: ipv4_da_lpm.apply(); with my_drop_1/my_drop(); statement_count_before:15 diff --git a/targets/bmv2/test/testdata/issue1765-1-bmv2.ref b/targets/bmv2/test/testdata/issue1765-1-bmv2.ref index bf0a5c15..1c997549 100644 --- a/targets/bmv2/test/testdata/issue1765-1-bmv2.ref +++ b/targets/bmv2/test/testdata/issue1765-1-bmv2.ref @@ -1,3 +1,10 @@ +Eliminated node at line 302: controller_debug; +Eliminated node at line 303: controller_reply; +Eliminated node at line 304: icmp6_echo_reply; +Eliminated node at line 315: set_egress_port; +Eliminated node at line 316: controller_debug; +Eliminated node at line 317: controller_reply; +Eliminated node at line 328: set_egress_port; Eliminated node at line 336: v6_addresses.apply(); Eliminated node at line 337: v6_networks.apply(); Eliminated node at line 340: v4_networks.apply(); diff --git a/targets/bmv2/test/testdata/issue1814-1-bmv2.ref b/targets/bmv2/test/testdata/issue1814-1-bmv2.ref index 6eb63485..0e59e535 100644 --- a/targets/bmv2/test/testdata/issue1814-1-bmv2.ref +++ b/targets/bmv2/test/testdata/issue1814-1-bmv2.ref @@ -1,3 +1,5 @@ +Eliminated node at line 35: drop; +Eliminated node at line 36: forward; Eliminated node at line 47: debug_table.apply(); statement_count_before:5 statement_count_after:4 diff --git a/targets/bmv2/test/testdata/issue1834-bmv2.ref b/targets/bmv2/test/testdata/issue1834-bmv2.ref index 4d2975ab..05c64cc6 100644 --- a/targets/bmv2/test/testdata/issue1834-bmv2.ref +++ b/targets/bmv2/test/testdata/issue1834-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 31: act; Replaced node at line 28: meta.test: exact; with 0 statement_count_before:1 statement_count_after:1 diff --git a/targets/bmv2/test/testdata/issue1958.ref b/targets/bmv2/test/testdata/issue1958.ref index 8df01d66..34a1b21d 100644 --- a/targets/bmv2/test/testdata/issue1958.ref +++ b/targets/bmv2/test/testdata/issue1958.ref @@ -1,3 +1,4 @@ +Eliminated node at line 82: foo2_action; Eliminated node at line 88: foo2_table.apply(); statement_count_before:7 statement_count_after:6 diff --git a/targets/bmv2/test/testdata/issue1985.ref b/targets/bmv2/test/testdata/issue1985.ref index 97525f5a..349c009e 100644 --- a/targets/bmv2/test/testdata/issue1985.ref +++ b/targets/bmv2/test/testdata/issue1985.ref @@ -1,3 +1,4 @@ +Eliminated node at line 28: a(hdr.h.isValid() || (bool) 1w1); Eliminated node at line 32: t.apply(); statement_count_before:2 statement_count_after:1 diff --git a/targets/bmv2/test/testdata/issue1989-bmv2.ref b/targets/bmv2/test/testdata/issue1989-bmv2.ref index 36d3a449..1c9220a0 100644 --- a/targets/bmv2/test/testdata/issue1989-bmv2.ref +++ b/targets/bmv2/test/testdata/issue1989-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 62: assign_non_const_array_index; Eliminated node at line 69: acl_table.apply(); Replaced node at line 65: hdr.ethernet.etherType: exact; with 0 statement_count_before:5 diff --git a/targets/bmv2/test/testdata/issue2153-bmv2.ref b/targets/bmv2/test/testdata/issue2153-bmv2.ref index 8e6e3c8e..f1bc5e0d 100644 --- a/targets/bmv2/test/testdata/issue2153-bmv2.ref +++ b/targets/bmv2/test/testdata/issue2153-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 65: do_something(); Eliminated node at line 73: do_something: { Eliminated node at line 78: if (tmp_condition > 0) { Replaced node at line 78: if (tmp_condition > 0) { with 0 diff --git a/targets/bmv2/test/testdata/issue2170-bmv2.ref b/targets/bmv2/test/testdata/issue2170-bmv2.ref index ee2d9e4e..9c3b7910 100644 --- a/targets/bmv2/test/testdata/issue2170-bmv2.ref +++ b/targets/bmv2/test/testdata/issue2170-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 65: do_something(); Eliminated node at line 77: hdr.h.a = 8w0; statement_count_before:7 statement_count_after:6 diff --git a/targets/bmv2/test/testdata/issue2266.ref b/targets/bmv2/test/testdata/issue2266.ref index f90447f4..aa64bf52 100644 --- a/targets/bmv2/test/testdata/issue2266.ref +++ b/targets/bmv2/test/testdata/issue2266.ref @@ -1,3 +1,4 @@ +Eliminated node at line 38: simple_action(simple_function()); Eliminated node at line 43: simple_table.apply(); statement_count_before:3 statement_count_after:2 diff --git a/targets/bmv2/test/testdata/issue2321.ref b/targets/bmv2/test/testdata/issue2321.ref index 09137f9c..b4dc6f9e 100644 --- a/targets/bmv2/test/testdata/issue2321.ref +++ b/targets/bmv2/test/testdata/issue2321.ref @@ -1,3 +1,6 @@ +Eliminated node at line 74: a1(hdr.ethernet.dstAddr); +Eliminated node at line 75: a2(bump_val(hdr.ethernet.etherType), bump_val(hdr.ethernet.etherType)); +Eliminated node at line 76: my_drop; Eliminated node at line 82: t1.apply(); statement_count_before:11 statement_count_after:10 diff --git a/targets/bmv2/test/testdata/issue2344.ref b/targets/bmv2/test/testdata/issue2344.ref index 0f572bcb..59661e30 100644 --- a/targets/bmv2/test/testdata/issue2344.ref +++ b/targets/bmv2/test/testdata/issue2344.ref @@ -1,4 +1,5 @@ Eliminated node at line 19: if (tmp1.a != 10) { +Eliminated node at line 34: simple_action(); Eliminated node at line 38: simple_table.apply(); Eliminated node at line 39: simple_table.apply(); Replaced node at line 19: if (tmp1.a != 10) { with 0 diff --git a/targets/bmv2/test/testdata/issue2375-bmv2.ref b/targets/bmv2/test/testdata/issue2375-bmv2.ref index c69f208e..503c69b3 100644 --- a/targets/bmv2/test/testdata/issue2375-bmv2.ref +++ b/targets/bmv2/test/testdata/issue2375-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 37: do_action(tmp, tmp); Eliminated node at line 41: simple_table.apply(); statement_count_before:3 statement_count_after:2 diff --git a/targets/bmv2/test/testdata/issue2905-bmv2.ref b/targets/bmv2/test/testdata/issue2905-bmv2.ref index 5d7440db..b1aac8da 100644 --- a/targets/bmv2/test/testdata/issue2905-bmv2.ref +++ b/targets/bmv2/test/testdata/issue2905-bmv2.ref @@ -1,4 +1,4 @@ - +Eliminated node at line 58: a_with_control_params; statement_count_before:5 statement_count_after:5 cyclomatic_complexity:1 diff --git a/targets/bmv2/test/testdata/issue297-bmv2.ref b/targets/bmv2/test/testdata/issue297-bmv2.ref index c9ef7989..2fa90240 100644 --- a/targets/bmv2/test/testdata/issue297-bmv2.ref +++ b/targets/bmv2/test/testdata/issue297-bmv2.ref @@ -1,3 +1,5 @@ +Eliminated node at line 38: actions = { drop; NoAction; } +Eliminated node at line 45: actions = { drop; NoAction; } Eliminated node at line 51: indirect.apply(); Eliminated node at line 52: indirect_ws.apply(); Replaced node at line 44: key = { meta.hash1 : selector; } with 0 diff --git a/targets/bmv2/test/testdata/issue298-bmv2.ref b/targets/bmv2/test/testdata/issue298-bmv2.ref index 00fac8ca..1f788f47 100644 --- a/targets/bmv2/test/testdata/issue298-bmv2.ref +++ b/targets/bmv2/test/testdata/issue298-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 156: _drop; Eliminated node at line 164: drop_tbl.apply(); Replaced node at line 187: round_tbl.apply(); with read_round(); Replaced node at line 154: key = { meta.local_metadata.set_drop : exact; } with 0 diff --git a/targets/bmv2/test/testdata/issue3488-1-bmv2.ref b/targets/bmv2/test/testdata/issue3488-1-bmv2.ref index efccb18d..0fa3a9ea 100644 --- a/targets/bmv2/test/testdata/issue3488-1-bmv2.ref +++ b/targets/bmv2/test/testdata/issue3488-1-bmv2.ref @@ -1,3 +1,8 @@ +Eliminated node at line 121: action1; +Eliminated node at line 122: action2; +Eliminated node at line 123: action3; +Eliminated node at line 139: action4; +Eliminated node at line 153: action5; Eliminated node at line 164: action1: // Fall-through Eliminated node at line 165: action2: { Eliminated node at line 169: post_tbl3.apply(); diff --git a/targets/bmv2/test/testdata/issue3488-bmv2.ref b/targets/bmv2/test/testdata/issue3488-bmv2.ref index 8fb3b661..a24d282f 100644 --- a/targets/bmv2/test/testdata/issue3488-bmv2.ref +++ b/targets/bmv2/test/testdata/issue3488-bmv2.ref @@ -1,3 +1,8 @@ +Eliminated node at line 118: action1; +Eliminated node at line 119: action2; +Eliminated node at line 120: action3; +Eliminated node at line 134: action4; +Eliminated node at line 148: action5; Eliminated node at line 158: action1: // Fall-through Eliminated node at line 159: action2: { Eliminated node at line 163: post_tbl3.apply(); diff --git a/targets/bmv2/test/testdata/issue383-bmv2.ref b/targets/bmv2/test/testdata/issue383-bmv2.ref index 076f49d1..9cf83357 100644 --- a/targets/bmv2/test/testdata/issue383-bmv2.ref +++ b/targets/bmv2/test/testdata/issue383-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 89: do_act; Eliminated node at line 95: tns.apply(); statement_count_before:16 statement_count_after:15 diff --git a/targets/bmv2/test/testdata/issue420.ref b/targets/bmv2/test/testdata/issue420.ref index 8da0b5bd..bde763ff 100644 --- a/targets/bmv2/test/testdata/issue420.ref +++ b/targets/bmv2/test/testdata/issue420.ref @@ -1,4 +1,5 @@ Eliminated node at line 41: hdr.ethernet.srcAddr = 48w0xdeadbeeff00d; +Eliminated node at line 57: actions = { foo; NoAction; } Eliminated node at line 61: tbl1.apply(); statement_count_before:5 statement_count_after:3 diff --git a/targets/bmv2/test/testdata/issue422.ref b/targets/bmv2/test/testdata/issue422.ref index e519f5ce..a9da1394 100644 --- a/targets/bmv2/test/testdata/issue422.ref +++ b/targets/bmv2/test/testdata/issue422.ref @@ -1,3 +1,4 @@ +Eliminated node at line 70: actions = { foo; NoAction; } Eliminated node at line 74: tbl1.apply(); statement_count_before:3 statement_count_after:2 diff --git a/targets/bmv2/test/testdata/issue461-bmv2.ref b/targets/bmv2/test/testdata/issue461-bmv2.ref index a44853e8..892d6c6b 100644 --- a/targets/bmv2/test/testdata/issue461-bmv2.ref +++ b/targets/bmv2/test/testdata/issue461-bmv2.ref @@ -1,5 +1,8 @@ +Eliminated node at line 107: set_l2ptr; +Eliminated node at line 118: set_bd_dmac_intf; Replaced node at line 127: ipv4_da_lpm.apply(); with drop_with_count(); Replaced node at line 128: mac_da.apply(); with my_drop_1/my_drop(); +Eliminated node at line 141: rewrite_mac; Replaced node at line 150: send_frame.apply(); with my_drop_2/my_drop(); Replaced node at line 122: meta.fwd_metadata.l2ptr: exact; with 0 Replaced node at line 145: meta.fwd_metadata.out_bd: exact; with 0 diff --git a/targets/bmv2/test/testdata/issue561-bmv2.ref b/targets/bmv2/test/testdata/issue561-bmv2.ref index 0eb1abe4..15a14185 100644 --- a/targets/bmv2/test/testdata/issue561-bmv2.ref +++ b/targets/bmv2/test/testdata/issue561-bmv2.ref @@ -1,5 +1,8 @@ +Eliminated node at line 282: set_l2ptr; +Eliminated node at line 299: set_bd_dmac_intf; Replaced node at line 306: ipv4_da_lpm.apply(); with my_drop_2/my_drop(); Replaced node at line 307: mac_da.apply(); with my_drop_3/my_drop(); +Eliminated node at line 323: rewrite_mac; Replaced node at line 330: send_frame.apply(); with my_drop_4/my_drop(); Replaced node at line 296: meta.fwd_metadata.l2ptr: exact; with 0 Replaced node at line 320: meta.fwd_metadata.out_bd: exact; with 0 diff --git a/targets/bmv2/test/testdata/issue949.ref b/targets/bmv2/test/testdata/issue949.ref index 3b94a91f..d972b3dd 100644 --- a/targets/bmv2/test/testdata/issue949.ref +++ b/targets/bmv2/test/testdata/issue949.ref @@ -1,3 +1,4 @@ +Eliminated node at line 60: setDest; Eliminated node at line 65: bool didHit = someTable.apply().hit; statement_count_before:6 statement_count_after:5 diff --git a/targets/bmv2/test/testdata/logging-bmv2.ref b/targets/bmv2/test/testdata/logging-bmv2.ref index 9f740e3c..f7586356 100644 --- a/targets/bmv2/test/testdata/logging-bmv2.ref +++ b/targets/bmv2/test/testdata/logging-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 33: actions = { a(h.eth_hdr.dst_addr , h.eth_hdr.src_addr); } Eliminated node at line 36: t.apply(); statement_count_before:5 statement_count_after:4 diff --git a/targets/bmv2/test/testdata/match-on-exprs-bmv2.ref b/targets/bmv2/test/testdata/match-on-exprs-bmv2.ref index 4dd9c67f..2beb7a79 100644 --- a/targets/bmv2/test/testdata/match-on-exprs-bmv2.ref +++ b/targets/bmv2/test/testdata/match-on-exprs-bmv2.ref @@ -1,3 +1,5 @@ +Eliminated node at line 68: foo; +Eliminated node at line 69: my_drop; Eliminated node at line 75: t1.apply(); statement_count_before:6 statement_count_after:5 diff --git a/targets/bmv2/test/testdata/match-on-exprs2-bmv2.ref b/targets/bmv2/test/testdata/match-on-exprs2-bmv2.ref index 4dd9c67f..2beb7a79 100644 --- a/targets/bmv2/test/testdata/match-on-exprs2-bmv2.ref +++ b/targets/bmv2/test/testdata/match-on-exprs2-bmv2.ref @@ -1,3 +1,5 @@ +Eliminated node at line 68: foo; +Eliminated node at line 69: my_drop; Eliminated node at line 75: t1.apply(); statement_count_before:6 statement_count_after:5 diff --git a/targets/bmv2/test/testdata/multicast-bmv2.ref b/targets/bmv2/test/testdata/multicast-bmv2.ref index a9d32513..56109860 100644 --- a/targets/bmv2/test/testdata/multicast-bmv2.ref +++ b/targets/bmv2/test/testdata/multicast-bmv2.ref @@ -1,4 +1,11 @@ +Eliminated node at line 67: rewrite_mac; +Eliminated node at line 68: _drop; Eliminated node at line 76: send_frame.apply(); +Eliminated node at line 102: bcast; +Eliminated node at line 108: set_dmac; +Eliminated node at line 109: _drop; +Eliminated node at line 118: set_nhop; +Eliminated node at line 119: _drop; Eliminated node at line 128: ipv4_lpm.apply(); Eliminated node at line 129: forward.apply(); Eliminated node at line 132: broadcast.apply(); diff --git a/targets/bmv2/test/testdata/named_meter_1-bmv2.ref b/targets/bmv2/test/testdata/named_meter_1-bmv2.ref index 19cec640..f62691cb 100644 --- a/targets/bmv2/test/testdata/named_meter_1-bmv2.ref +++ b/targets/bmv2/test/testdata/named_meter_1-bmv2.ref @@ -1,3 +1,7 @@ +Eliminated node at line 69: _drop; +Eliminated node at line 70: _nop; +Eliminated node at line 88: m_action_0; +Eliminated node at line 89: _nop_0; Eliminated node at line 100: m_table.apply(); Eliminated node at line 101: m_filter.apply(); Replaced node at line 74: meta.meta.meter_tag: exact; with 0 diff --git a/targets/bmv2/test/testdata/named_meter_bmv2.ref b/targets/bmv2/test/testdata/named_meter_bmv2.ref index c19cad1f..6ceadba9 100644 --- a/targets/bmv2/test/testdata/named_meter_bmv2.ref +++ b/targets/bmv2/test/testdata/named_meter_bmv2.ref @@ -1,3 +1,7 @@ +Eliminated node at line 68: _drop; +Eliminated node at line 69: _nop; +Eliminated node at line 88: m_action_0; +Eliminated node at line 89: _nop_0; Eliminated node at line 100: m_table.apply(); Eliminated node at line 101: m_filter.apply(); Replaced node at line 73: meta.meta.meter_tag: exact; with 0 diff --git a/targets/bmv2/test/testdata/nested_if_else.ref b/targets/bmv2/test/testdata/nested_if_else.ref index 67e7d101..82366ffb 100644 --- a/targets/bmv2/test/testdata/nested_if_else.ref +++ b/targets/bmv2/test/testdata/nested_if_else.ref @@ -1,5 +1,7 @@ Eliminated node at line 84: if (c) { Eliminated node at line 93: x = x + 5; +Eliminated node at line 112: ipv4_forward; +Eliminated node at line 113: drop; Eliminated node at line 122: ipv4_lpm.apply(); statement_count_before:13 statement_count_after:7 diff --git a/targets/bmv2/test/testdata/nested_if_lvalue_dependencies.ref b/targets/bmv2/test/testdata/nested_if_lvalue_dependencies.ref index bb2d2a47..17bf6382 100644 --- a/targets/bmv2/test/testdata/nested_if_lvalue_dependencies.ref +++ b/targets/bmv2/test/testdata/nested_if_lvalue_dependencies.ref @@ -1,4 +1,6 @@ Eliminated node at line 80: if (c){ +Eliminated node at line 104: ipv4_forward; +Eliminated node at line 105: drop; Eliminated node at line 114: ipv4_lpm.apply(); statement_count_before:15 statement_count_after:8 diff --git a/targets/bmv2/test/testdata/nested_if_statement.ref b/targets/bmv2/test/testdata/nested_if_statement.ref index 32bcab73..914d9231 100644 --- a/targets/bmv2/test/testdata/nested_if_statement.ref +++ b/targets/bmv2/test/testdata/nested_if_statement.ref @@ -2,6 +2,8 @@ Eliminated node at line 87: x = 0; Eliminated node at line 89: x = 1; Eliminated node at line 91: x = 2; Eliminated node at line 93: x = 3; +Eliminated node at line 113: ipv4_forward; +Eliminated node at line 114: drop; Eliminated node at line 123: ipv4_lpm.apply(); statement_count_before:11 statement_count_after:6 diff --git a/targets/bmv2/test/testdata/nonstandard_table_names-bmv2.ref b/targets/bmv2/test/testdata/nonstandard_table_names-bmv2.ref index 07dd352c..0f244a2a 100644 --- a/targets/bmv2/test/testdata/nonstandard_table_names-bmv2.ref +++ b/targets/bmv2/test/testdata/nonstandard_table_names-bmv2.ref @@ -1,3 +1,8 @@ +Eliminated node at line 39: increment; +Eliminated node at line 49: increment; +Eliminated node at line 59: increment; +Eliminated node at line 69: increment; +Eliminated node at line 79: increment; Eliminated node at line 84: simple_table_1.apply(); Eliminated node at line 85: simple_table_2.apply(); Eliminated node at line 86: simple_table_3.apply(); diff --git a/targets/bmv2/test/testdata/p416-type-use3.ref b/targets/bmv2/test/testdata/p416-type-use3.ref index b7d6068f..3ac88b14 100644 --- a/targets/bmv2/test/testdata/p416-type-use3.ref +++ b/targets/bmv2/test/testdata/p416-type-use3.ref @@ -1,3 +1,5 @@ +Eliminated node at line 167: set_output; +Eliminated node at line 168: set_headers; Eliminated node at line 176: custom_table.apply(); statement_count_before:23 statement_count_after:22 diff --git a/targets/bmv2/test/testdata/pins_fabric.ref b/targets/bmv2/test/testdata/pins_fabric.ref index 26f5735b..fbfd9fb8 100644 --- a/targets/bmv2/test/testdata/pins_fabric.ref +++ b/targets/bmv2/test/testdata/pins_fabric.ref @@ -1,3 +1,43 @@ +Eliminated node at line 985: @proto_id(1) mark_for_tunnel_decap_and_set_vrf; +Eliminated node at line 849: @proto_id(1) disable_vlan_checks; +Eliminated node at line 1477: @proto_id(1) set_vrf; +Eliminated node at line 789: @proto_id(1) admit_to_l3; +Eliminated node at line 484: @proto_id(2) set_nexthop_id(local_metadata); +Eliminated node at line 485: @proto_id(3) set_wcmp_group_id; +Eliminated node at line 486: @proto_id(5) set_nexthop_id_and_metadata; +Eliminated node at line 487: @proto_id(6) set_wcmp_group_id_and_metadata; +Eliminated node at line 488: @proto_id(7) set_metadata_and_drop; +Eliminated node at line 500: @proto_id(2) set_nexthop_id(local_metadata); +Eliminated node at line 501: @proto_id(3) set_wcmp_group_id; +Eliminated node at line 502: @proto_id(5) set_nexthop_id_and_metadata; +Eliminated node at line 503: @proto_id(6) set_wcmp_group_id_and_metadata; +Eliminated node at line 504: @proto_id(7) set_metadata_and_drop; +Eliminated node at line 515: @proto_id(1) set_multicast_group_id; +Eliminated node at line 525: @proto_id(1) set_multicast_group_id; +Eliminated node at line 1223: @proto_id(1) acl_copy(); +Eliminated node at line 1224: @proto_id(2) acl_trap(); +Eliminated node at line 1225: @proto_id(3) acl_forward(); +Eliminated node at line 1226: @proto_id(4) acl_mirror(); +Eliminated node at line 1227: @proto_id(5) acl_drop(local_metadata); +Eliminated node at line 1277: @proto_id(1) set_qos_queue_and_cancel_copy_above_rate_limit(); +Eliminated node at line 1278: @proto_id(2) set_cpu_queue_and_deny_above_rate_limit(); +Eliminated node at line 1279: @proto_id(3) acl_forward(); +Eliminated node at line 1280: @proto_id(4) acl_drop(local_metadata); +Eliminated node at line 1281: @proto_id(5) set_cpu_queue(); +Eliminated node at line 1282: @proto_id(6) set_cpu_and_multicast_queues_and_deny_above_rate_limit(); +Eliminated node at line 1309: @proto_id(3) acl_count(); +Eliminated node at line 562: @proto_id(1) set_dst_mac; +Eliminated node at line 583: @proto_id(1) set_port_and_src_mac; +Eliminated node at line 584: @proto_id(2) set_port_and_src_mac_and_vlan_id; +Eliminated node at line 615: @proto_id(1) set_nexthop; +Eliminated node at line 616: @proto_id(2) set_p2p_tunnel_encap_nexthop; +Eliminated node at line 617: @proto_id(3) set_ip_nexthop; +Eliminated node at line 618: @proto_id(4) set_ip_nexthop_and_disable_rewrites; +Eliminated node at line 635: @proto_id(1) mark_for_p2p_tunnel_encap; +Eliminated node at line 648: @proto_id(1) set_nexthop_id(local_metadata); +Eliminated node at line 734: @proto_id(1) mirror_as_ipv4_erspan; +Eliminated node at line 735: @proto_id(2) mirror_with_vlan_tag_and_ipfix_encapsulation; +Eliminated node at line 708: @proto_id(1) ingress_clone; Eliminated node at line 992: ipv6_tunnel_termination_table.apply(); Eliminated node at line 862: disable_vlan_checks_table.apply(); Eliminated node at line 1554: acl_pre_ingress_table.apply(); @@ -16,6 +56,8 @@ Eliminated node at line 660: if (local_metadata.nexthop_id_valid) { Eliminated node at line 673: if (local_metadata.acl_drop) { Eliminated node at line 742: if (local_metadata.marked_to_mirror) { Eliminated node at line 712: ingress_clone_table.apply(); +Eliminated node at line 931: @proto_id(1) set_multicast_src_mac; +Eliminated node at line 1063: @proto_id(1) acl_drop(local_metadata); Eliminated node at line (unknown): Eliminated node at line 936: multicast_router_interface_table.apply(); Eliminated node at line 946: if (local_metadata.enable_src_mac_rewrite) { diff --git a/targets/bmv2/test/testdata/pins_middleblock.ref b/targets/bmv2/test/testdata/pins_middleblock.ref index 589c1f93..99838f5a 100644 --- a/targets/bmv2/test/testdata/pins_middleblock.ref +++ b/targets/bmv2/test/testdata/pins_middleblock.ref @@ -1,3 +1,43 @@ +Eliminated node at line 985: @proto_id(1) mark_for_tunnel_decap_and_set_vrf; +Eliminated node at line 849: @proto_id(1) disable_vlan_checks; +Eliminated node at line 1463: @proto_id(1) set_vrf; +Eliminated node at line 789: @proto_id(1) admit_to_l3; +Eliminated node at line 484: @proto_id(2) set_nexthop_id(local_metadata); +Eliminated node at line 485: @proto_id(3) set_wcmp_group_id; +Eliminated node at line 486: @proto_id(5) set_nexthop_id_and_metadata; +Eliminated node at line 487: @proto_id(6) set_wcmp_group_id_and_metadata; +Eliminated node at line 488: @proto_id(7) set_metadata_and_drop; +Eliminated node at line 500: @proto_id(2) set_nexthop_id(local_metadata); +Eliminated node at line 501: @proto_id(3) set_wcmp_group_id; +Eliminated node at line 502: @proto_id(5) set_nexthop_id_and_metadata; +Eliminated node at line 503: @proto_id(6) set_wcmp_group_id_and_metadata; +Eliminated node at line 504: @proto_id(7) set_metadata_and_drop; +Eliminated node at line 515: @proto_id(1) set_multicast_group_id; +Eliminated node at line 525: @proto_id(1) set_multicast_group_id; +Eliminated node at line 1219: @proto_id(1) acl_copy(); +Eliminated node at line 1220: @proto_id(2) acl_trap(); +Eliminated node at line 1221: @proto_id(3) acl_forward(); +Eliminated node at line 1222: @proto_id(4) acl_mirror(); +Eliminated node at line 1223: @proto_id(5) acl_drop(local_metadata); +Eliminated node at line 1336: @proto_id(4) acl_forward(); +Eliminated node at line 1337: @proto_id(1) acl_mirror(); +Eliminated node at line 1338: @proto_id(2) redirect_to_nexthop(); +Eliminated node at line 1339: @proto_id(3) redirect_to_ipmc_group(); +Eliminated node at line 1381: @proto_id(1) acl_forward(); +Eliminated node at line 1382: @proto_id(2) acl_drop(local_metadata); +Eliminated node at line 1383: @proto_id(3) acl_deny(); +Eliminated node at line 562: @proto_id(1) set_dst_mac; +Eliminated node at line 583: @proto_id(1) set_port_and_src_mac; +Eliminated node at line 584: @proto_id(2) set_port_and_src_mac_and_vlan_id; +Eliminated node at line 615: @proto_id(1) set_nexthop; +Eliminated node at line 616: @proto_id(2) set_p2p_tunnel_encap_nexthop; +Eliminated node at line 617: @proto_id(3) set_ip_nexthop; +Eliminated node at line 618: @proto_id(4) set_ip_nexthop_and_disable_rewrites; +Eliminated node at line 635: @proto_id(1) mark_for_p2p_tunnel_encap; +Eliminated node at line 648: @proto_id(1) set_nexthop_id(local_metadata); +Eliminated node at line 734: @proto_id(1) mirror_as_ipv4_erspan; +Eliminated node at line 735: @proto_id(2) mirror_with_vlan_tag_and_ipfix_encapsulation; +Eliminated node at line 708: @proto_id(1) ingress_clone; Eliminated node at line 992: ipv6_tunnel_termination_table.apply(); Eliminated node at line 862: disable_vlan_checks_table.apply(); Eliminated node at line 1540: acl_pre_ingress_table.apply(); @@ -17,6 +57,8 @@ Eliminated node at line 660: if (local_metadata.nexthop_id_valid) { Eliminated node at line 673: if (local_metadata.acl_drop) { Eliminated node at line 742: if (local_metadata.marked_to_mirror) { Eliminated node at line 712: ingress_clone_table.apply(); +Eliminated node at line 931: @proto_id(1) set_multicast_src_mac; +Eliminated node at line 1061: @proto_id(1) acl_drop(local_metadata); Eliminated node at line (unknown): Eliminated node at line 936: multicast_router_interface_table.apply(); Eliminated node at line 946: if (local_metadata.enable_src_mac_rewrite) { diff --git a/targets/bmv2/test/testdata/pins_wbb.ref b/targets/bmv2/test/testdata/pins_wbb.ref index 8385cdd0..4a70f286 100644 --- a/targets/bmv2/test/testdata/pins_wbb.ref +++ b/targets/bmv2/test/testdata/pins_wbb.ref @@ -1,3 +1,5 @@ +Eliminated node at line 314: @proto_id(1) acl_wbb_ingress_copy(); +Eliminated node at line 315: @proto_id(2) acl_wbb_ingress_trap(); Eliminated node at line 325: ttl = headers.ipv4.ttl; Eliminated node at line 326: } else if (headers.ipv6.isValid()) { Eliminated node at line 329: acl_wbb_ingress_table.apply(); diff --git a/targets/bmv2/test/testdata/pvs-bitstring-bmv2.ref b/targets/bmv2/test/testdata/pvs-bitstring-bmv2.ref index 277ec331..c00da5ca 100644 --- a/targets/bmv2/test/testdata/pvs-bitstring-bmv2.ref +++ b/targets/bmv2/test/testdata/pvs-bitstring-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 42: actions = { set_data; } Eliminated node at line 46: t.apply(); Replaced node at line 43: key = { meta.data[0].da : exact;} with 0 statement_count_before:2 diff --git a/targets/bmv2/test/testdata/pvs-struct-1-bmv2.ref b/targets/bmv2/test/testdata/pvs-struct-1-bmv2.ref index 408a24c0..1aa041b7 100644 --- a/targets/bmv2/test/testdata/pvs-struct-1-bmv2.ref +++ b/targets/bmv2/test/testdata/pvs-struct-1-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 46: actions = { set_data; } Eliminated node at line 50: t.apply(); Replaced node at line 47: key = { meta.data[0].da : exact;} with 0 statement_count_before:2 diff --git a/targets/bmv2/test/testdata/pvs-struct-2-bmv2.ref b/targets/bmv2/test/testdata/pvs-struct-2-bmv2.ref index a05de70e..dbdde2df 100644 --- a/targets/bmv2/test/testdata/pvs-struct-2-bmv2.ref +++ b/targets/bmv2/test/testdata/pvs-struct-2-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 47: actions = { set_data; } Eliminated node at line 51: t.apply(); Replaced node at line 48: key = { meta.data[0].da : exact;} with 0 statement_count_before:2 diff --git a/targets/bmv2/test/testdata/pvs-struct-3-bmv2.ref b/targets/bmv2/test/testdata/pvs-struct-3-bmv2.ref index aba2b9dc..348f2f6a 100644 --- a/targets/bmv2/test/testdata/pvs-struct-3-bmv2.ref +++ b/targets/bmv2/test/testdata/pvs-struct-3-bmv2.ref @@ -1,3 +1,4 @@ +Eliminated node at line 49: actions = { set_data; } Eliminated node at line 53: t.apply(); Replaced node at line 50: key = { meta.data[0].da : exact;} with 0 statement_count_before:2 diff --git a/targets/bmv2/test/testdata/same_name_for_table_and_action.ref b/targets/bmv2/test/testdata/same_name_for_table_and_action.ref index 1629bfd7..1735c8ab 100644 --- a/targets/bmv2/test/testdata/same_name_for_table_and_action.ref +++ b/targets/bmv2/test/testdata/same_name_for_table_and_action.ref @@ -1,3 +1,4 @@ +Eliminated node at line 28: actions = { do_something_0; NoAction; } Eliminated node at line 32: do_something.apply(); statement_count_before:2 statement_count_after:1 diff --git a/targets/bmv2/test/testdata/std_meta_inlining.ref b/targets/bmv2/test/testdata/std_meta_inlining.ref index 61cd0db7..8a23f391 100644 --- a/targets/bmv2/test/testdata/std_meta_inlining.ref +++ b/targets/bmv2/test/testdata/std_meta_inlining.ref @@ -1,3 +1,4 @@ +Eliminated node at line 24: actions = { send_to_cpu(standard_metadata); } Eliminated node at line 27: t0.apply(); statement_count_before:4 statement_count_after:3 diff --git a/targets/bmv2/test/testdata/strength3.ref b/targets/bmv2/test/testdata/strength3.ref index b70a6791..959be2aa 100644 --- a/targets/bmv2/test/testdata/strength3.ref +++ b/targets/bmv2/test/testdata/strength3.ref @@ -1,3 +1,10 @@ +Eliminated node at line 47: case1; +Eliminated node at line 48: case2; +Eliminated node at line 49: case3; +Eliminated node at line 50: case4; +Eliminated node at line 51: case5; +Eliminated node at line 52: case6; +Eliminated node at line 53: case7; Replaced node at line 57: apply { t.apply(); } with case0(); statement_count_before:11 statement_count_after:11 diff --git a/targets/bmv2/test/testdata/strength6.ref b/targets/bmv2/test/testdata/strength6.ref index 91b5796e..e2667ebf 100644 --- a/targets/bmv2/test/testdata/strength6.ref +++ b/targets/bmv2/test/testdata/strength6.ref @@ -1,3 +1,7 @@ +Eliminated node at line 44: case1; +Eliminated node at line 45: case2; +Eliminated node at line 46: case3; +Eliminated node at line 47: case4; Replaced node at line 51: apply { t.apply(); } with case0(); statement_count_before:8 statement_count_after:8 diff --git a/targets/bmv2/test/testdata/structured_annotations.ref b/targets/bmv2/test/testdata/structured_annotations.ref index d3f1a6bf..d38efa08 100644 --- a/targets/bmv2/test/testdata/structured_annotations.ref +++ b/targets/bmv2/test/testdata/structured_annotations.ref @@ -1,3 +1,5 @@ +Eliminated node at line 56: redirect; +Eliminated node at line 58: my_drop; Eliminated node at line 64: t.apply(); statement_count_before:4 statement_count_after:3 diff --git a/targets/bmv2/test/testdata/table-key-serenum-bmv2.ref b/targets/bmv2/test/testdata/table-key-serenum-bmv2.ref index d25de248..ce8b2679 100644 --- a/targets/bmv2/test/testdata/table-key-serenum-bmv2.ref +++ b/targets/bmv2/test/testdata/table-key-serenum-bmv2.ref @@ -1,4 +1,4 @@ - +Eliminated node at line 50: do_act; statement_count_before:5 statement_count_after:5 cyclomatic_complexity:9 diff --git a/targets/bmv2/test/testdata/ternary2-bmv2.ref b/targets/bmv2/test/testdata/ternary2-bmv2.ref index d7fb4cff..5fb19e5a 100644 --- a/targets/bmv2/test/testdata/ternary2-bmv2.ref +++ b/targets/bmv2/test/testdata/ternary2-bmv2.ref @@ -1,3 +1,11 @@ +Eliminated node at line 73: setb1; +Eliminated node at line 81: setbyte(hdrs.extra[0].b1); +Eliminated node at line 82: act1; +Eliminated node at line 83: act2; +Eliminated node at line 84: act3; +Eliminated node at line 91: actions = { setbyte(hdrs.data.b2); noop; } +Eliminated node at line 95: actions = { setbyte(hdrs.extra[1].b1); noop; } +Eliminated node at line 99: actions = { setbyte(hdrs.extra[2].b2); noop; } Eliminated node at line 102: test1.apply(); Eliminated node at line 104: act1: { tbl1.apply(); } Eliminated node at line 105: act2: { tbl2.apply(); } diff --git a/targets/bmv2/test/testdata/up4.ref b/targets/bmv2/test/testdata/up4.ref index 752f5f1e..30510c33 100644 --- a/targets/bmv2/test/testdata/up4.ref +++ b/targets/bmv2/test/testdata/up4.ref @@ -1,3 +1,18 @@ +Eliminated node at line 521: set_session_uplink; +Eliminated node at line 522: set_session_uplink_drop; +Eliminated node at line 532: set_session_downlink; +Eliminated node at line 533: set_session_downlink_drop; +Eliminated node at line 534: set_session_downlink_buff; +Eliminated node at line 569: uplink_term_fwd; +Eliminated node at line 570: uplink_term_drop; +Eliminated node at line 581: downlink_term_fwd; +Eliminated node at line 582: downlink_term_drop; +Eliminated node at line 613: load_tunnel_param; +Eliminated node at line 424: route; +Eliminated node at line 390: set_port; +Eliminated node at line 391: punt; +Eliminated node at line 392: clone_to_cpu; +Eliminated node at line 393: drop; Eliminated node at line 686: if (interfaces.apply().hit) { Eliminated node at line 683: if (!my_station.apply().hit) { Eliminated node at line 437: routes_v4.apply(); diff --git a/targets/bmv2/test/testdata/use-priority-as-name.ref b/targets/bmv2/test/testdata/use-priority-as-name.ref index 57cf9c7e..a6539d9d 100644 --- a/targets/bmv2/test/testdata/use-priority-as-name.ref +++ b/targets/bmv2/test/testdata/use-priority-as-name.ref @@ -1,5 +1,8 @@ +Eliminated node at line 107: set_l2ptr_and_prio; +Eliminated node at line 124: set_bd_dmac_intf; Replaced node at line 133: ipv4_da_lpm.apply(); with my_drop(); Replaced node at line 134: mac_da.apply(); with my_drop_2/my_drop(); +Eliminated node at line 155: rewrite_mac; Replaced node at line 162: send_frame.apply(); with my_drop_3/my_drop(); Replaced node at line 121: meta.fwd_metadata.l2ptr: exact; with 0 Replaced node at line 152: meta.fwd_metadata.out_bd: exact; with 0 diff --git a/targets/bmv2/test/testdata/v1model-digest-containing-ser-enum.ref b/targets/bmv2/test/testdata/v1model-digest-containing-ser-enum.ref index c5c5a256..24285589 100644 --- a/targets/bmv2/test/testdata/v1model-digest-containing-ser-enum.ref +++ b/targets/bmv2/test/testdata/v1model-digest-containing-ser-enum.ref @@ -1,5 +1,10 @@ +Eliminated node at line 137: set_dmac; +Eliminated node at line 138: drop; +Eliminated node at line 155: set_nhop; +Eliminated node at line 156: drop; Eliminated node at line 179: ipv4_lpm.apply(); Eliminated node at line 180: forward.apply(); +Eliminated node at line 205: rewrite_mac; Eliminated node at line 213: send_frame.apply(); Replaced node at line 202: standard_metadata.egress_port: exact; with 0 statement_count_before:23 diff --git a/targets/bmv2/test/testdata/v1model-digest-custom-type.ref b/targets/bmv2/test/testdata/v1model-digest-custom-type.ref index e9026054..9573ea5a 100644 --- a/targets/bmv2/test/testdata/v1model-digest-custom-type.ref +++ b/targets/bmv2/test/testdata/v1model-digest-custom-type.ref @@ -1,5 +1,10 @@ +Eliminated node at line 125: set_dmac; +Eliminated node at line 126: drop; +Eliminated node at line 143: set_nhop; +Eliminated node at line 144: drop; Eliminated node at line 160: ipv4_lpm.apply(); Eliminated node at line 161: forward.apply(); +Eliminated node at line 184: rewrite_mac; Eliminated node at line 192: send_frame.apply(); Replaced node at line 181: standard_metadata.egress_port: exact; with 0 statement_count_before:19 diff --git a/targets/bmv2/test/testdata/v1model-p4runtime-enumint-types1.ref b/targets/bmv2/test/testdata/v1model-p4runtime-enumint-types1.ref index aab8f808..fbfee5c5 100644 --- a/targets/bmv2/test/testdata/v1model-p4runtime-enumint-types1.ref +++ b/targets/bmv2/test/testdata/v1model-p4runtime-enumint-types1.ref @@ -1,3 +1,5 @@ +Eliminated node at line 525: set_output; +Eliminated node at line 526: set_headers; Eliminated node at line 534: custom_table.apply(); statement_count_before:35 statement_count_after:34 diff --git a/targets/bmv2/test/testdata/v1model-p4runtime-most-types1.ref b/targets/bmv2/test/testdata/v1model-p4runtime-most-types1.ref index aab8f808..fbfee5c5 100644 --- a/targets/bmv2/test/testdata/v1model-p4runtime-most-types1.ref +++ b/targets/bmv2/test/testdata/v1model-p4runtime-most-types1.ref @@ -1,3 +1,5 @@ +Eliminated node at line 525: set_output; +Eliminated node at line 526: set_headers; Eliminated node at line 534: custom_table.apply(); statement_count_before:35 statement_count_after:34 diff --git a/targets/bmv2/test/testdata/v1model-special-ops-bmv2.ref b/targets/bmv2/test/testdata/v1model-special-ops-bmv2.ref index 89c8bde0..b761414c 100644 --- a/targets/bmv2/test/testdata/v1model-special-ops-bmv2.ref +++ b/targets/bmv2/test/testdata/v1model-special-ops-bmv2.ref @@ -1,5 +1,14 @@ +Eliminated node at line 234: set_l2ptr; +Eliminated node at line 235: set_mcast_grp; +Eliminated node at line 236: do_resubmit; +Eliminated node at line 237: do_clone_i2e; +Eliminated node at line 254: set_bd_dmac_intf; Replaced node at line 297: ipv4_da_lpm.apply(); with my_drop_2/my_drop(); Replaced node at line 300: mac_da.apply(); with my_drop_3/my_drop(); +Eliminated node at line 326: actions = { set_out_bd; } +Eliminated node at line 352: rewrite_mac; +Eliminated node at line 353: do_recirculate; +Eliminated node at line 354: do_clone_e2e; Eliminated node at line 380: get_multicast_copy_out_bd.apply(); Replaced node at line 382: send_frame.apply(); with my_drop_4/my_drop(); Replaced node at line 323: standard_metadata.mcast_grp : exact; with 0 diff --git a/targets/bmv2/test/testdata/v1model_constant_variable.ref b/targets/bmv2/test/testdata/v1model_constant_variable.ref index e8f7655b..056c611a 100644 --- a/targets/bmv2/test/testdata/v1model_constant_variable.ref +++ b/targets/bmv2/test/testdata/v1model_constant_variable.ref @@ -1,3 +1,4 @@ +Eliminated node at line 67: NoAction(); Replaced node at line 74: toggle_check.apply(); with check_1/check(); statement_count_before:6 statement_count_after:6 diff --git a/targets/bmv2/test/testdata/v1model_dead_ternary_table.ref b/targets/bmv2/test/testdata/v1model_dead_ternary_table.ref index 89bcc73d..2345e971 100644 --- a/targets/bmv2/test/testdata/v1model_dead_ternary_table.ref +++ b/targets/bmv2/test/testdata/v1model_dead_ternary_table.ref @@ -1,3 +1,5 @@ +Eliminated node at line 74: check(); +Eliminated node at line 89: acl_drop(s); Eliminated node at line 95: toggle_check.apply(); Eliminated node at line 98: if (h.ipv4.isValid() && check_l3) { statement_count_before:10 diff --git a/targets/bmv2/test/testdata/v1model_default_override.ref b/targets/bmv2/test/testdata/v1model_default_override.ref index bd1eb538..194200b6 100644 --- a/targets/bmv2/test/testdata/v1model_default_override.ref +++ b/targets/bmv2/test/testdata/v1model_default_override.ref @@ -1,3 +1,4 @@ +Eliminated node at line 66: check(); Eliminated node at line 72: toggle_check.apply(); Eliminated node at line 74: if (check_l3) { statement_count_before:7 diff --git a/targets/bmv2/test/testdata/v1model_simple_example.ref b/targets/bmv2/test/testdata/v1model_simple_example.ref index 6a4f356f..5ad1dc0d 100644 --- a/targets/bmv2/test/testdata/v1model_simple_example.ref +++ b/targets/bmv2/test/testdata/v1model_simple_example.ref @@ -1,3 +1,4 @@ +Eliminated node at line 68: check(); Eliminated node at line 75: toggle_check.apply(); statement_count_before:3 statement_count_after:2 diff --git a/targets/fpga/test/testdata/dash-pipeline-xsa-fpga.ref b/targets/fpga/test/testdata/dash-pipeline-xsa-fpga.ref index c0bf9d64..2e73eb89 100644 --- a/targets/fpga/test/testdata/dash-pipeline-xsa-fpga.ref +++ b/targets/fpga/test/testdata/dash-pipeline-xsa-fpga.ref @@ -17,14 +17,52 @@ Eliminated node at line 378: if (hdr.u0_ipv4.isValid()) { Eliminated node at line 381: if (hdr.u0_ipv6.isValid()) { Eliminated node at line 378: if (hdr.u0_ipv4.isValid()) { Eliminated node at line 381: if (hdr.u0_ipv6.isValid()) { +Eliminated node at line 1033: accept; +Eliminated node at line 1047: set_appliance; Eliminated node at line 1059: if (dash_tunnel_dscp_mode == dash_tunnel_dscp_mode_t.PIPE_MODEL) { Eliminated node at line 1064: if (meta.is_overlay_ip_v6 == 1) { Eliminated node at line 1082: if (meta.direction == dash_direction_t.OUTBOUND) { +Eliminated node at line 1106: set_eni_attrs; +Eliminated node at line 1122: permit; +Eliminated node at line 1134: tunnel_decap(hdr, meta); +Eliminated node at line 1135: tunnel_decap_pa_validate; Eliminated node at line 1142: if (meta.is_overlay_ip_v6 == 1) { Eliminated node at line 1146: if (meta.is_overlay_ip_v6 == 0) { +Eliminated node at line 1156: set_acl_group_attrs(); +Eliminated node at line 865: set_outbound_direction; +Eliminated node at line 887: set_eni; +Eliminated node at line 512: permit; +Eliminated node at line 513: permit_and_continue; +Eliminated node at line 515: deny_and_continue; +Eliminated node at line 529: permit; +Eliminated node at line 530: permit_and_continue; +Eliminated node at line 532: deny_and_continue; +Eliminated node at line 546: permit; +Eliminated node at line 547: permit_and_continue; +Eliminated node at line 549: deny_and_continue; +Eliminated node at line 733: route_vnet(hdr, meta); +Eliminated node at line 734: route_vnet_direct(hdr, meta); +Eliminated node at line 735: route_direct(hdr, meta); +Eliminated node at line 736: route_service_tunnel(hdr, meta); +Eliminated node at line 757: set_tunnel_mapping(hdr, meta); +Eliminated node at line 758: set_private_link_mapping(hdr, meta); +Eliminated node at line 771: set_vnet_attrs; +Eliminated node at line 512: permit; +Eliminated node at line 513: permit_and_continue; +Eliminated node at line 515: deny_and_continue; +Eliminated node at line 529: permit; +Eliminated node at line 530: permit_and_continue; +Eliminated node at line 532: deny_and_continue; +Eliminated node at line 546: permit; +Eliminated node at line 547: permit_and_continue; +Eliminated node at line 549: deny_and_continue; Eliminated node at line 998: meta.dropped = true; +Eliminated node at line 1010: pkt_act; Eliminated node at line 913: if (meta.is_overlay_ip_v6 == 1) { Eliminated node at line 917: if (meta.is_overlay_ip_v6 == 0) { +Eliminated node at line 927: check_ip_addr_family; +Eliminated node at line 939: set_policy_meter_class; +Eliminated node at line 953: meter_bucket_action; Eliminated node at line 1164: meta.encap_data.underlay_sip = hdr.u0_ipv4.dst_addr; Eliminated node at line 1163: if (vip.apply().hit) { Replaced node at line 871: direction_lookup.apply(); with direction_lookup_stage_set_inbound_direction_0/set_inbound_direction(); diff --git a/targets/fpga/test/testdata/p4_and_verilog.ref b/targets/fpga/test/testdata/p4_and_verilog.ref index 571e2750..f8b7e3ca 100644 --- a/targets/fpga/test/testdata/p4_and_verilog.ref +++ b/targets/fpga/test/testdata/p4_and_verilog.ref @@ -1,3 +1,5 @@ +Eliminated node at line 72: actions = { forwardPacket; +Eliminated node at line 73: dropPacket; Eliminated node at line 89: forward.apply(); statement_count_before:11 statement_count_after:10 diff --git a/targets/fpga/test/testdata/p4_hbm.ref b/targets/fpga/test/testdata/p4_hbm.ref index 1dd7fba0..0b1ac22e 100644 --- a/targets/fpga/test/testdata/p4_hbm.ref +++ b/targets/fpga/test/testdata/p4_hbm.ref @@ -1,3 +1,5 @@ +Eliminated node at line 165: actions = { forwardPacket; +Eliminated node at line 166: dropPacket; Eliminated node at line 188: filter.apply(); statement_count_before:18 statement_count_after:17 diff --git a/targets/fpga/test/testdata/p4_multi_proc_egr.ref b/targets/fpga/test/testdata/p4_multi_proc_egr.ref index 571e2750..f8b7e3ca 100644 --- a/targets/fpga/test/testdata/p4_multi_proc_egr.ref +++ b/targets/fpga/test/testdata/p4_multi_proc_egr.ref @@ -1,3 +1,5 @@ +Eliminated node at line 72: actions = { forwardPacket; +Eliminated node at line 73: dropPacket; Eliminated node at line 89: forward.apply(); statement_count_before:11 statement_count_after:10 diff --git a/targets/fpga/test/testdata/p4_multi_proc_igr.ref b/targets/fpga/test/testdata/p4_multi_proc_igr.ref index dc258322..13a4c0b1 100644 --- a/targets/fpga/test/testdata/p4_multi_proc_igr.ref +++ b/targets/fpga/test/testdata/p4_multi_proc_igr.ref @@ -1,3 +1,5 @@ +Eliminated node at line 79: actions = { forwardPacket; +Eliminated node at line 80: dropPacket; Eliminated node at line 96: forward.apply(); statement_count_before:12 statement_count_after:11 diff --git a/targets/fpga/test/testdata/p4_only.ref b/targets/fpga/test/testdata/p4_only.ref index 571e2750..f8b7e3ca 100644 --- a/targets/fpga/test/testdata/p4_only.ref +++ b/targets/fpga/test/testdata/p4_only.ref @@ -1,3 +1,5 @@ +Eliminated node at line 72: actions = { forwardPacket; +Eliminated node at line 73: dropPacket; Eliminated node at line 89: forward.apply(); statement_count_before:11 statement_count_after:10 diff --git a/targets/fpga/test/testdata/p4_with_extern.ref b/targets/fpga/test/testdata/p4_with_extern.ref index dc258322..13a4c0b1 100644 --- a/targets/fpga/test/testdata/p4_with_extern.ref +++ b/targets/fpga/test/testdata/p4_with_extern.ref @@ -1,3 +1,5 @@ +Eliminated node at line 79: actions = { forwardPacket; +Eliminated node at line 80: dropPacket; Eliminated node at line 96: forward.apply(); statement_count_before:12 statement_count_after:11 diff --git a/targets/nikss/test/testdata/action-const-default.ref b/targets/nikss/test/testdata/action-const-default.ref index 9322d245..82e3b8d3 100644 --- a/targets/nikss/test/testdata/action-const-default.ref +++ b/targets/nikss/test/testdata/action-const-default.ref @@ -1,3 +1,4 @@ +Eliminated node at line 88: actions = { do_forward; NoAction; } Replaced node at line 94: tbl_const_action.apply(); with do_forward(1); statement_count_before:14 statement_count_after:14 diff --git a/targets/nikss/test/testdata/action-default-ternary.ref b/targets/nikss/test/testdata/action-default-ternary.ref index 44afc9d7..82532187 100644 --- a/targets/nikss/test/testdata/action-default-ternary.ref +++ b/targets/nikss/test/testdata/action-default-ternary.ref @@ -1,3 +1,4 @@ +Eliminated node at line 99: actions = { do_forward; NoAction; } Replaced node at line 104: tbl_ternary.apply(); with do_forward(1); statement_count_before:14 statement_count_after:14 diff --git a/targets/nikss/test/testdata/action-profile-action-run.ref b/targets/nikss/test/testdata/action-profile-action-run.ref index 219d9f9d..6cefcc4b 100644 --- a/targets/nikss/test/testdata/action-profile-action-run.ref +++ b/targets/nikss/test/testdata/action-profile-action-run.ref @@ -1,3 +1,5 @@ +Eliminated node at line 51: actions = { NoAction; a1; a2; } +Eliminated node at line 51: actions = { NoAction; a1; a2; } Eliminated node at line 57: a1: { send_to_port(ostd, (PortId_t) 1); } Eliminated node at line 58: a2: { send_to_port(ostd, (PortId_t) 2); } statement_count_before:16 diff --git a/targets/nikss/test/testdata/action-profile-hit.ref b/targets/nikss/test/testdata/action-profile-hit.ref index e6140391..930f3492 100644 --- a/targets/nikss/test/testdata/action-profile-hit.ref +++ b/targets/nikss/test/testdata/action-profile-hit.ref @@ -1,3 +1,5 @@ +Eliminated node at line 51: actions = { NoAction; a1; a2; } +Eliminated node at line 51: actions = { NoAction; a1; a2; } Eliminated node at line 56: if (tbl.apply().hit) Eliminated node at line 56: if (tbl.apply().hit) statement_count_before:10 diff --git a/targets/nikss/test/testdata/action-profile-lpm.ref b/targets/nikss/test/testdata/action-profile-lpm.ref index 555e5f54..eb54ed56 100644 --- a/targets/nikss/test/testdata/action-profile-lpm.ref +++ b/targets/nikss/test/testdata/action-profile-lpm.ref @@ -1,3 +1,5 @@ +Eliminated node at line 51: actions = { NoAction; a1; a2; } +Eliminated node at line 51: actions = { NoAction; a1; a2; } Eliminated node at line 56: tbl.apply(); statement_count_before:11 statement_count_after:10 diff --git a/targets/nikss/test/testdata/action-profile1.ref b/targets/nikss/test/testdata/action-profile1.ref index 555e5f54..eb54ed56 100644 --- a/targets/nikss/test/testdata/action-profile1.ref +++ b/targets/nikss/test/testdata/action-profile1.ref @@ -1,3 +1,5 @@ +Eliminated node at line 51: actions = { NoAction; a1; a2; } +Eliminated node at line 51: actions = { NoAction; a1; a2; } Eliminated node at line 56: tbl.apply(); statement_count_before:11 statement_count_after:10 diff --git a/targets/nikss/test/testdata/action-profile2.ref b/targets/nikss/test/testdata/action-profile2.ref index c32af9ab..4ef6b6c5 100644 --- a/targets/nikss/test/testdata/action-profile2.ref +++ b/targets/nikss/test/testdata/action-profile2.ref @@ -1,3 +1,7 @@ +Eliminated node at line 51: actions = { NoAction; a1; a2; } +Eliminated node at line 51: actions = { NoAction; a1; a2; } +Eliminated node at line 58: actions = { NoAction; a1; a2; } +Eliminated node at line 58: actions = { NoAction; a1; a2; } Eliminated node at line 62: tbl.apply(); Eliminated node at line 63: tbl2.apply(); statement_count_before:14 diff --git a/targets/nikss/test/testdata/action-selector-action-run.ref b/targets/nikss/test/testdata/action-selector-action-run.ref index f9ad063b..f8cc2640 100644 --- a/targets/nikss/test/testdata/action-selector-action-run.ref +++ b/targets/nikss/test/testdata/action-selector-action-run.ref @@ -1,3 +1,4 @@ +Eliminated node at line 53: actions = { NoAction; fwd; } Eliminated node at line 59: fwd: { send_to_port(ostd, (PortId_t) 1); } statement_count_before:8 statement_count_after:7 diff --git a/targets/nikss/test/testdata/action-selector-hit.ref b/targets/nikss/test/testdata/action-selector-hit.ref index ecd3da3f..98d9179e 100644 --- a/targets/nikss/test/testdata/action-selector-hit.ref +++ b/targets/nikss/test/testdata/action-selector-hit.ref @@ -1,3 +1,4 @@ +Eliminated node at line 53: actions = { NoAction; fwd; } Eliminated node at line 58: if (tbl.apply().hit) Eliminated node at line 58: if (tbl.apply().hit) statement_count_before:8 diff --git a/targets/nikss/test/testdata/action-selector-lpm.ref b/targets/nikss/test/testdata/action-selector-lpm.ref index 7a5f9d53..f77723f3 100644 --- a/targets/nikss/test/testdata/action-selector-lpm.ref +++ b/targets/nikss/test/testdata/action-selector-lpm.ref @@ -1,3 +1,4 @@ +Eliminated node at line 53: actions = { NoAction; fwd; } Eliminated node at line 58: tbl.apply(); statement_count_before:8 statement_count_after:7 diff --git a/targets/nikss/test/testdata/action-selector1.ref b/targets/nikss/test/testdata/action-selector1.ref index 7a5f9d53..f77723f3 100644 --- a/targets/nikss/test/testdata/action-selector1.ref +++ b/targets/nikss/test/testdata/action-selector1.ref @@ -1,3 +1,4 @@ +Eliminated node at line 53: actions = { NoAction; fwd; } Eliminated node at line 58: tbl.apply(); statement_count_before:8 statement_count_after:7 diff --git a/targets/nikss/test/testdata/action-selector2.ref b/targets/nikss/test/testdata/action-selector2.ref index eec2b1fe..60c9c643 100644 --- a/targets/nikss/test/testdata/action-selector2.ref +++ b/targets/nikss/test/testdata/action-selector2.ref @@ -1,3 +1,5 @@ +Eliminated node at line 53: actions = { NoAction; fwd; } +Eliminated node at line 63: actions = { NoAction; fwd; } Eliminated node at line 69: tbl.apply(); Eliminated node at line 70: tbl2.apply(); statement_count_before:14 diff --git a/targets/nikss/test/testdata/action-selector3.ref b/targets/nikss/test/testdata/action-selector3.ref index 80de9343..cbb863d8 100644 --- a/targets/nikss/test/testdata/action-selector3.ref +++ b/targets/nikss/test/testdata/action-selector3.ref @@ -1,3 +1,4 @@ +Eliminated node at line 53: actions = { NoAction; fwd; } Eliminated node at line 59: tbl.apply(); statement_count_before:8 statement_count_after:7 diff --git a/targets/nikss/test/testdata/action-selector4.ref b/targets/nikss/test/testdata/action-selector4.ref index f58a99e5..4cc6d2a0 100644 --- a/targets/nikss/test/testdata/action-selector4.ref +++ b/targets/nikss/test/testdata/action-selector4.ref @@ -1,3 +1,4 @@ +Eliminated node at line 55: actions = { NoAction; fwd; } Eliminated node at line 60: tbl.apply(); statement_count_before:8 statement_count_after:7 diff --git a/targets/nikss/test/testdata/action-selector5.ref b/targets/nikss/test/testdata/action-selector5.ref index bf781433..1e13b9f0 100644 --- a/targets/nikss/test/testdata/action-selector5.ref +++ b/targets/nikss/test/testdata/action-selector5.ref @@ -1,3 +1,5 @@ +Eliminated node at line 54: actions = { NoAction; fwd; } +Eliminated node at line 63: actions = { NoAction; fwd; } Eliminated node at line 68: tbl.apply(); Eliminated node at line 69: tbl2.apply(); statement_count_before:14 diff --git a/targets/nikss/test/testdata/bng.ref b/targets/nikss/test/testdata/bng.ref index 85ea6421..cf02dc96 100644 --- a/targets/nikss/test/testdata/bng.ref +++ b/targets/nikss/test/testdata/bng.ref @@ -1,3 +1,13 @@ +Eliminated node at line 326: permit(); +Eliminated node at line 327: permit_with_internal_vlan(); +Eliminated node at line 378: route; +Eliminated node at line 402: set_vlan; +Eliminated node at line 403: set_double_vlan; +Eliminated node at line 440: punt_to_cpu; +Eliminated node at line 470: term_enabled_v4; +Eliminated node at line 495: set_session; +Eliminated node at line 496: drop; +Eliminated node at line 518: qos_prio; Replaced node at line 527: ingress_port_vlan.apply(); with deny(); Replaced node at line 528: fwd_classifier.apply(); with set_forwarding_type(0); Eliminated node at line (unknown): { if (local_metadata.fwd_type == 2) { @@ -10,6 +20,8 @@ Eliminated node at line 558: if (t_line_session_map.apply().hit) { Eliminated node at line 558: if (t_line_session_map.apply().hit) { Eliminated node at line (unknown): Eliminated node at line 577: hdr.bmd.push_double_vlan = local_metadata.push_double_vlan == true ? 8w1 : 8w0; +Eliminated node at line 623: push_vlan; +Eliminated node at line 624: pop_vlan; Replaced node at line 657: egress_vlan.apply(); with drop_3/drop(); Replaced node at line 465: local_metadata.bng.line_id : exact @name("line_id"); with 0 Replaced node at line 491: local_metadata.bng.line_id : exact @name("line_id"); with 0 diff --git a/targets/nikss/test/testdata/const-entry-and-action.ref b/targets/nikss/test/testdata/const-entry-and-action.ref index d4dc205b..5a0b6c9c 100644 --- a/targets/nikss/test/testdata/const-entry-and-action.ref +++ b/targets/nikss/test/testdata/const-entry-and-action.ref @@ -1,4 +1,4 @@ - +Eliminated node at line 88: actions = { do_forward; NoAction; } statement_count_before:20 statement_count_after:20 cyclomatic_complexity:24 diff --git a/targets/nikss/test/testdata/counters.ref b/targets/nikss/test/testdata/counters.ref index a3f0141a..a2303a80 100644 --- a/targets/nikss/test/testdata/counters.ref +++ b/targets/nikss/test/testdata/counters.ref @@ -1,3 +1,5 @@ +Eliminated node at line 68: actions = { do_forward; do_forward_2; NoAction; } +Eliminated node at line 68: actions = { do_forward; do_forward_2; NoAction; } Replaced node at line 74: tbl_fwd.apply(); with do_forward(1); statement_count_before:21 statement_count_after:21 diff --git a/targets/nikss/test/testdata/direct-counters.ref b/targets/nikss/test/testdata/direct-counters.ref index 460840f5..730e87b3 100644 --- a/targets/nikss/test/testdata/direct-counters.ref +++ b/targets/nikss/test/testdata/direct-counters.ref @@ -1,3 +1,7 @@ +Eliminated node at line 75: actions = { NoAction; execute3; } +Eliminated node at line 83: actions = { NoAction; execute3; execute2; execute23; } +Eliminated node at line 83: actions = { NoAction; execute3; execute2; execute23; } +Eliminated node at line 83: actions = { NoAction; execute3; execute2; execute23; } Eliminated node at line 91: tbl1.apply(); Eliminated node at line 92: tbl2.apply(); statement_count_before:16 diff --git a/targets/nikss/test/testdata/hash-action.ref b/targets/nikss/test/testdata/hash-action.ref index b7b397c7..fabe1c2e 100644 --- a/targets/nikss/test/testdata/hash-action.ref +++ b/targets/nikss/test/testdata/hash-action.ref @@ -1,3 +1,4 @@ +Eliminated node at line 79: actions = { NoAction; act; } Replaced node at line 84: t1.apply(); with act(); statement_count_before:12 statement_count_after:12 diff --git a/targets/nikss/test/testdata/l2l3-acl.ref b/targets/nikss/test/testdata/l2l3-acl.ref index 18d1e5d2..ad30a1ff 100644 --- a/targets/nikss/test/testdata/l2l3-acl.ref +++ b/targets/nikss/test/testdata/l2l3-acl.ref @@ -1,3 +1,9 @@ +Eliminated node at line 209: push_vlan; +Eliminated node at line 228: NoAction; +Eliminated node at line 261: set_nexthop; +Eliminated node at line 281: forward; +Eliminated node at line 282: broadcast; +Eliminated node at line 296: drop; Eliminated node at line 306: tbl_ingress_vlan.apply(); Replaced node at line 307: tbl_mac_learning.apply(); with mac_learn(); Eliminated node at line 308: if (tbl_routable.apply().hit) { @@ -5,6 +11,8 @@ Eliminated node at line 308: if (tbl_routable.apply().hit) { Eliminated node at line 318: tbl_switching.apply(); Eliminated node at line 319: tbl_acl.apply(); Eliminated node at line (unknown): +Eliminated node at line 349: strip_vlan; +Eliminated node at line 350: mod_vlan; Eliminated node at line 358: if (istd.packet_path == PSA_PacketPath_t.NORMAL_MULTICAST && istd.egress_port == (PortId_t) headers.bridged_meta.ingress_port) { Eliminated node at line (unknown): Eliminated node at line 362: tbl_vlan_egress.apply(); diff --git a/targets/nikss/test/testdata/meters-action.ref b/targets/nikss/test/testdata/meters-action.ref index 72ac0b0d..c2cc897a 100644 --- a/targets/nikss/test/testdata/meters-action.ref +++ b/targets/nikss/test/testdata/meters-action.ref @@ -1,3 +1,4 @@ +Eliminated node at line 96: actions = { do_forward; NoAction; } Replaced node at line 102: tbl_fwd.apply(); with do_forward(2); statement_count_before:23 statement_count_after:23 diff --git a/targets/nikss/test/testdata/meters-direct-and-counter.ref b/targets/nikss/test/testdata/meters-direct-and-counter.ref index 6b5429a9..947c9ab6 100644 --- a/targets/nikss/test/testdata/meters-direct-and-counter.ref +++ b/targets/nikss/test/testdata/meters-direct-and-counter.ref @@ -1,3 +1,4 @@ +Eliminated node at line 102: actions = { do_forward; NoAction; } Replaced node at line 110: tbl_fwd.apply(); with do_forward(2); statement_count_before:19 statement_count_after:19 diff --git a/targets/nikss/test/testdata/meters-direct-and-indirect-single-action.ref b/targets/nikss/test/testdata/meters-direct-and-indirect-single-action.ref index dc428645..70c3706f 100644 --- a/targets/nikss/test/testdata/meters-direct-and-indirect-single-action.ref +++ b/targets/nikss/test/testdata/meters-direct-and-indirect-single-action.ref @@ -1,3 +1,4 @@ +Eliminated node at line 102: actions = { do_forward; NoAction; } Replaced node at line 109: tbl_fwd.apply(); with do_forward(2); statement_count_before:19 statement_count_after:19 diff --git a/targets/nikss/test/testdata/meters-direct-and-indirect.ref b/targets/nikss/test/testdata/meters-direct-and-indirect.ref index 1de05c0f..aa2a4dff 100644 --- a/targets/nikss/test/testdata/meters-direct-and-indirect.ref +++ b/targets/nikss/test/testdata/meters-direct-and-indirect.ref @@ -1,3 +1,4 @@ +Eliminated node at line 101: actions = { do_forward; NoAction; } Replaced node at line 108: tbl_fwd.apply(); with do_forward(2); statement_count_before:19 statement_count_after:19 diff --git a/targets/nikss/test/testdata/meters-direct-color-aware.ref b/targets/nikss/test/testdata/meters-direct-color-aware.ref index f5addf90..e05d4959 100644 --- a/targets/nikss/test/testdata/meters-direct-color-aware.ref +++ b/targets/nikss/test/testdata/meters-direct-color-aware.ref @@ -1,3 +1,4 @@ +Eliminated node at line 100: actions = { do_forward; NoAction; } Replaced node at line 107: tbl_fwd.apply(); with do_forward(2); statement_count_before:18 statement_count_after:18 diff --git a/targets/nikss/test/testdata/meters-direct.ref b/targets/nikss/test/testdata/meters-direct.ref index f5addf90..e05d4959 100644 --- a/targets/nikss/test/testdata/meters-direct.ref +++ b/targets/nikss/test/testdata/meters-direct.ref @@ -1,3 +1,4 @@ +Eliminated node at line 100: actions = { do_forward; NoAction; } Replaced node at line 107: tbl_fwd.apply(); with do_forward(2); statement_count_before:18 statement_count_after:18 diff --git a/targets/nikss/test/testdata/meters-two-direct.ref b/targets/nikss/test/testdata/meters-two-direct.ref index 6b5429a9..df985355 100644 --- a/targets/nikss/test/testdata/meters-two-direct.ref +++ b/targets/nikss/test/testdata/meters-two-direct.ref @@ -1,3 +1,4 @@ +Eliminated node at line 103: actions = { do_forward; NoAction; } Replaced node at line 110: tbl_fwd.apply(); with do_forward(2); statement_count_before:19 statement_count_after:19 diff --git a/targets/nikss/test/testdata/packet_in-advance.ref b/targets/nikss/test/testdata/packet_in-advance.ref index 0dcd83d0..0530f232 100644 --- a/targets/nikss/test/testdata/packet_in-advance.ref +++ b/targets/nikss/test/testdata/packet_in-advance.ref @@ -1,3 +1,4 @@ +Eliminated node at line 92: actions = { do_forward; NoAction; } Replaced node at line 98: tbl_fwd.apply(); with do_forward(1); statement_count_before:16 statement_count_after:16 diff --git a/targets/nikss/test/testdata/packet_in-length.ref b/targets/nikss/test/testdata/packet_in-length.ref index ea23a326..701255fa 100644 --- a/targets/nikss/test/testdata/packet_in-length.ref +++ b/targets/nikss/test/testdata/packet_in-length.ref @@ -1,3 +1,4 @@ +Eliminated node at line 89: actions = { do_forward; NoAction; } Replaced node at line 95: tbl_fwd.apply(); with do_forward(1); statement_count_before:16 statement_count_after:16 diff --git a/targets/nikss/test/testdata/psa-lpm-two-keys.ref b/targets/nikss/test/testdata/psa-lpm-two-keys.ref index bd7f8598..6fe06473 100644 --- a/targets/nikss/test/testdata/psa-lpm-two-keys.ref +++ b/targets/nikss/test/testdata/psa-lpm-two-keys.ref @@ -1,3 +1,5 @@ +Eliminated node at line 83: actions = { do_forward; do_drop; NoAction; } +Eliminated node at line 83: actions = { do_forward; do_drop; NoAction; } Eliminated node at line 89: tbl_fwd_exact_lpm.apply(); statement_count_before:13 statement_count_after:12 diff --git a/targets/nikss/test/testdata/psa-lpm.ref b/targets/nikss/test/testdata/psa-lpm.ref index 19e03fa6..a1f216e2 100644 --- a/targets/nikss/test/testdata/psa-lpm.ref +++ b/targets/nikss/test/testdata/psa-lpm.ref @@ -1,3 +1,5 @@ +Eliminated node at line 82: actions = { do_forward; do_drop; NoAction; } +Eliminated node at line 82: actions = { do_forward; do_drop; NoAction; } Eliminated node at line 88: tbl_fwd_lpm.apply(); statement_count_before:13 statement_count_after:12 diff --git a/targets/nikss/test/testdata/psa-ternary.ref b/targets/nikss/test/testdata/psa-ternary.ref index b66abc35..25ff189e 100644 --- a/targets/nikss/test/testdata/psa-ternary.ref +++ b/targets/nikss/test/testdata/psa-ternary.ref @@ -1,3 +1,8 @@ +Eliminated node at line 97: actions = { do_change_src_addr; NoAction; } +Eliminated node at line 107: actions = { do_change_dst_addr; NoAction; } +Eliminated node at line 118: actions = { do_change_protocol; NoAction; } +Eliminated node at line 129: actions = { do_change_diffserv; NoAction; } +Eliminated node at line 140: actions = { do_modify_eth_type; NoAction; } Eliminated node at line 149: tbl_ternary_0.apply(); Eliminated node at line 150: tbl_ternary_2.apply(); Eliminated node at line 151: tbl_ternary_1.apply(); diff --git a/targets/nikss/test/testdata/random.ref b/targets/nikss/test/testdata/random.ref index 3ccc653c..fc6bf0b4 100644 --- a/targets/nikss/test/testdata/random.ref +++ b/targets/nikss/test/testdata/random.ref @@ -1,3 +1,4 @@ +Eliminated node at line 63: actions = { do_forward; NoAction; } Replaced node at line 71: tbl_fwd.apply(); with do_forward(1); statement_count_before:13 statement_count_after:13 diff --git a/targets/nikss/test/testdata/register-action.ref b/targets/nikss/test/testdata/register-action.ref index 8fc3fdaa..3ad2c309 100644 --- a/targets/nikss/test/testdata/register-action.ref +++ b/targets/nikss/test/testdata/register-action.ref @@ -1,3 +1,4 @@ +Eliminated node at line 98: actions = { do_forward; NoAction; } Replaced node at line 104: tbl_fwd.apply(); with do_forward(2); statement_count_before:18 statement_count_after:18 diff --git a/targets/nikss/test/testdata/simple-fwd.ref b/targets/nikss/test/testdata/simple-fwd.ref index c227f491..6c108a84 100644 --- a/targets/nikss/test/testdata/simple-fwd.ref +++ b/targets/nikss/test/testdata/simple-fwd.ref @@ -1,3 +1,4 @@ +Eliminated node at line 88: actions = { do_forward; NoAction; } Replaced node at line 94: tbl_fwd.apply(); with do_forward(1); statement_count_before:14 statement_count_after:14 diff --git a/targets/nikss/test/testdata/table-cache-lpm.ref b/targets/nikss/test/testdata/table-cache-lpm.ref index 26b09468..b722fa29 100644 --- a/targets/nikss/test/testdata/table-cache-lpm.ref +++ b/targets/nikss/test/testdata/table-cache-lpm.ref @@ -1,3 +1,4 @@ +Eliminated node at line 68: actions = { NoAction; a1; } Eliminated node at line 73: if (tbl_lpm.apply().hit) { Eliminated node at line 73: if (tbl_lpm.apply().hit) { statement_count_before:12 diff --git a/targets/nikss/test/testdata/table-cache-ternary.ref b/targets/nikss/test/testdata/table-cache-ternary.ref index e624eb7a..8f7ca0ad 100644 --- a/targets/nikss/test/testdata/table-cache-ternary.ref +++ b/targets/nikss/test/testdata/table-cache-ternary.ref @@ -1,3 +1,4 @@ +Eliminated node at line 68: actions = { NoAction; a1; } Eliminated node at line 73: if (tbl_ternary.apply().hit) { Eliminated node at line 73: if (tbl_ternary.apply().hit) { statement_count_before:12 diff --git a/targets/nikss/test/testdata/upf.ref b/targets/nikss/test/testdata/upf.ref index a1c1119a..df6459f5 100644 --- a/targets/nikss/test/testdata/upf.ref +++ b/targets/nikss/test/testdata/upf.ref @@ -1,3 +1,14 @@ +Eliminated node at line 256: nop; +Eliminated node at line 257: set_ingress_dst_port_range_id; +Eliminated node at line 266: nop; +Eliminated node at line 267: set_ingress_src_port_range_id; +Eliminated node at line 387: set_source_interface; +Eliminated node at line 399: set_seid(); +Eliminated node at line 410: set_seid(); +Eliminated node at line 427: set_far_id(); +Eliminated node at line 438: far_forward(); +Eliminated node at line 439: far_encap_forward(); +Eliminated node at line 318: forward(); Eliminated node at line 292: ingress_l4_src_port.apply(); Eliminated node at line 293: ingress_l4_dst_port.apply(); Eliminated node at line 484: source_interface_lookup_by_port.apply(); diff --git a/targets/nikss/test/testdata/wide-field-tables.ref b/targets/nikss/test/testdata/wide-field-tables.ref index f145047a..4d34884d 100644 --- a/targets/nikss/test/testdata/wide-field-tables.ref +++ b/targets/nikss/test/testdata/wide-field-tables.ref @@ -1,3 +1,9 @@ +Eliminated node at line 84: actions = { set_dst; NoAction; } +Eliminated node at line 93: actions = { set_dst; NoAction; } +Eliminated node at line 102: actions = { set_dst; NoAction; } +Eliminated node at line 111: actions = { set_dst; NoAction; } +Eliminated node at line 152: actions = { set_dst; NoAction; } +Eliminated node at line 162: actions = { set_dst; NoAction; } Replaced node at line 167: tbl_default.apply(); with set_dst(340277520782485789054823377486907615914); Eliminated node at line 169: tbl_exact.apply(); Eliminated node at line 170: tbl_lpm.apply(); diff --git a/targets/tofino/test/testdata/aes_oneround.ref b/targets/tofino/test/testdata/aes_oneround.ref index 206dd340..4917397c 100644 --- a/targets/tofino/test/testdata/aes_oneround.ref +++ b/targets/tofino/test/testdata/aes_oneround.ref @@ -1,3 +1,21 @@ +Eliminated node at line 364: action write_v_0_0_a(bit<32> v){ ig_md.aes_tmp.v00 =v; } table tb_lookup_0_0_t { key = { hdr.aes.s00 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_0_a; } } action write_v_0_1_a(bit<32> v){ ig_md.aes_tmp.v01 =v; } table tb_lookup_0_1_t { key = { hdr.aes.s01 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_1_a; } } action write_v_0_2_a(bit<32> v){ ig_md.aes_tmp.v02 =v; } table tb_lookup_0_2_t { key = { hdr.aes.s02 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_2_a; } } action write_v_0_3_a(bit<32> v){ ig_md.aes_tmp.v03 =v; } table tb_lookup_0_3_t { key = { hdr.aes.s03 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_3_a; } } +Eliminated node at line 364: action write_v_0_0_a(bit<32> v){ ig_md.aes_tmp.v00 =v; } table tb_lookup_0_0_t { key = { hdr.aes.s00 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_0_a; } } action write_v_0_1_a(bit<32> v){ ig_md.aes_tmp.v01 =v; } table tb_lookup_0_1_t { key = { hdr.aes.s01 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_1_a; } } action write_v_0_2_a(bit<32> v){ ig_md.aes_tmp.v02 =v; } table tb_lookup_0_2_t { key = { hdr.aes.s02 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_2_a; } } action write_v_0_3_a(bit<32> v){ ig_md.aes_tmp.v03 =v; } table tb_lookup_0_3_t { key = { hdr.aes.s03 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_3_a; } } +Eliminated node at line 364: action write_v_0_0_a(bit<32> v){ ig_md.aes_tmp.v00 =v; } table tb_lookup_0_0_t { key = { hdr.aes.s00 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_0_a; } } action write_v_0_1_a(bit<32> v){ ig_md.aes_tmp.v01 =v; } table tb_lookup_0_1_t { key = { hdr.aes.s01 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_1_a; } } action write_v_0_2_a(bit<32> v){ ig_md.aes_tmp.v02 =v; } table tb_lookup_0_2_t { key = { hdr.aes.s02 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_2_a; } } action write_v_0_3_a(bit<32> v){ ig_md.aes_tmp.v03 =v; } table tb_lookup_0_3_t { key = { hdr.aes.s03 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_3_a; } } +Eliminated node at line 364: action write_v_0_0_a(bit<32> v){ ig_md.aes_tmp.v00 =v; } table tb_lookup_0_0_t { key = { hdr.aes.s00 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_0_a; } } action write_v_0_1_a(bit<32> v){ ig_md.aes_tmp.v01 =v; } table tb_lookup_0_1_t { key = { hdr.aes.s01 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_1_a; } } action write_v_0_2_a(bit<32> v){ ig_md.aes_tmp.v02 =v; } table tb_lookup_0_2_t { key = { hdr.aes.s02 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_2_a; } } action write_v_0_3_a(bit<32> v){ ig_md.aes_tmp.v03 =v; } table tb_lookup_0_3_t { key = { hdr.aes.s03 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_3_a; } } +Eliminated node at line 365: action write_v_1_0_a(bit<32> v){ ig_md.aes_tmp.v10 =v; } table tb_lookup_1_0_t { key = { hdr.aes.s10 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_0_a; } } action write_v_1_1_a(bit<32> v){ ig_md.aes_tmp.v11 =v; } table tb_lookup_1_1_t { key = { hdr.aes.s11 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_1_a; } } action write_v_1_2_a(bit<32> v){ ig_md.aes_tmp.v12 =v; } table tb_lookup_1_2_t { key = { hdr.aes.s12 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_2_a; } } action write_v_1_3_a(bit<32> v){ ig_md.aes_tmp.v13 =v; } table tb_lookup_1_3_t { key = { hdr.aes.s13 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_3_a; } } +Eliminated node at line 365: action write_v_1_0_a(bit<32> v){ ig_md.aes_tmp.v10 =v; } table tb_lookup_1_0_t { key = { hdr.aes.s10 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_0_a; } } action write_v_1_1_a(bit<32> v){ ig_md.aes_tmp.v11 =v; } table tb_lookup_1_1_t { key = { hdr.aes.s11 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_1_a; } } action write_v_1_2_a(bit<32> v){ ig_md.aes_tmp.v12 =v; } table tb_lookup_1_2_t { key = { hdr.aes.s12 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_2_a; } } action write_v_1_3_a(bit<32> v){ ig_md.aes_tmp.v13 =v; } table tb_lookup_1_3_t { key = { hdr.aes.s13 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_3_a; } } +Eliminated node at line 365: action write_v_1_0_a(bit<32> v){ ig_md.aes_tmp.v10 =v; } table tb_lookup_1_0_t { key = { hdr.aes.s10 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_0_a; } } action write_v_1_1_a(bit<32> v){ ig_md.aes_tmp.v11 =v; } table tb_lookup_1_1_t { key = { hdr.aes.s11 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_1_a; } } action write_v_1_2_a(bit<32> v){ ig_md.aes_tmp.v12 =v; } table tb_lookup_1_2_t { key = { hdr.aes.s12 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_2_a; } } action write_v_1_3_a(bit<32> v){ ig_md.aes_tmp.v13 =v; } table tb_lookup_1_3_t { key = { hdr.aes.s13 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_3_a; } } +Eliminated node at line 365: action write_v_1_0_a(bit<32> v){ ig_md.aes_tmp.v10 =v; } table tb_lookup_1_0_t { key = { hdr.aes.s10 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_0_a; } } action write_v_1_1_a(bit<32> v){ ig_md.aes_tmp.v11 =v; } table tb_lookup_1_1_t { key = { hdr.aes.s11 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_1_a; } } action write_v_1_2_a(bit<32> v){ ig_md.aes_tmp.v12 =v; } table tb_lookup_1_2_t { key = { hdr.aes.s12 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_2_a; } } action write_v_1_3_a(bit<32> v){ ig_md.aes_tmp.v13 =v; } table tb_lookup_1_3_t { key = { hdr.aes.s13 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_3_a; } } +Eliminated node at line 366: action write_v_2_0_a(bit<32> v){ ig_md.aes_tmp.v20 =v; } table tb_lookup_2_0_t { key = { hdr.aes.s20 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_0_a; } } action write_v_2_1_a(bit<32> v){ ig_md.aes_tmp.v21 =v; } table tb_lookup_2_1_t { key = { hdr.aes.s21 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_1_a; } } action write_v_2_2_a(bit<32> v){ ig_md.aes_tmp.v22 =v; } table tb_lookup_2_2_t { key = { hdr.aes.s22 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_2_a; } } action write_v_2_3_a(bit<32> v){ ig_md.aes_tmp.v23 =v; } table tb_lookup_2_3_t { key = { hdr.aes.s23 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_3_a; } } +Eliminated node at line 366: action write_v_2_0_a(bit<32> v){ ig_md.aes_tmp.v20 =v; } table tb_lookup_2_0_t { key = { hdr.aes.s20 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_0_a; } } action write_v_2_1_a(bit<32> v){ ig_md.aes_tmp.v21 =v; } table tb_lookup_2_1_t { key = { hdr.aes.s21 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_1_a; } } action write_v_2_2_a(bit<32> v){ ig_md.aes_tmp.v22 =v; } table tb_lookup_2_2_t { key = { hdr.aes.s22 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_2_a; } } action write_v_2_3_a(bit<32> v){ ig_md.aes_tmp.v23 =v; } table tb_lookup_2_3_t { key = { hdr.aes.s23 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_3_a; } } +Eliminated node at line 366: action write_v_2_0_a(bit<32> v){ ig_md.aes_tmp.v20 =v; } table tb_lookup_2_0_t { key = { hdr.aes.s20 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_0_a; } } action write_v_2_1_a(bit<32> v){ ig_md.aes_tmp.v21 =v; } table tb_lookup_2_1_t { key = { hdr.aes.s21 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_1_a; } } action write_v_2_2_a(bit<32> v){ ig_md.aes_tmp.v22 =v; } table tb_lookup_2_2_t { key = { hdr.aes.s22 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_2_a; } } action write_v_2_3_a(bit<32> v){ ig_md.aes_tmp.v23 =v; } table tb_lookup_2_3_t { key = { hdr.aes.s23 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_3_a; } } +Eliminated node at line 366: action write_v_2_0_a(bit<32> v){ ig_md.aes_tmp.v20 =v; } table tb_lookup_2_0_t { key = { hdr.aes.s20 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_0_a; } } action write_v_2_1_a(bit<32> v){ ig_md.aes_tmp.v21 =v; } table tb_lookup_2_1_t { key = { hdr.aes.s21 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_1_a; } } action write_v_2_2_a(bit<32> v){ ig_md.aes_tmp.v22 =v; } table tb_lookup_2_2_t { key = { hdr.aes.s22 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_2_a; } } action write_v_2_3_a(bit<32> v){ ig_md.aes_tmp.v23 =v; } table tb_lookup_2_3_t { key = { hdr.aes.s23 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_3_a; } } +Eliminated node at line 367: action write_v_3_0_a(bit<32> v){ ig_md.aes_tmp.v30 =v; } table tb_lookup_3_0_t { key = { hdr.aes.s30 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_0_a; } } action write_v_3_1_a(bit<32> v){ ig_md.aes_tmp.v31 =v; } table tb_lookup_3_1_t { key = { hdr.aes.s31 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_1_a; } } action write_v_3_2_a(bit<32> v){ ig_md.aes_tmp.v32 =v; } table tb_lookup_3_2_t { key = { hdr.aes.s32 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_2_a; } } action write_v_3_3_a(bit<32> v){ ig_md.aes_tmp.v33 =v; } table tb_lookup_3_3_t { key = { hdr.aes.s33 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_3_a; } } +Eliminated node at line 367: action write_v_3_0_a(bit<32> v){ ig_md.aes_tmp.v30 =v; } table tb_lookup_3_0_t { key = { hdr.aes.s30 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_0_a; } } action write_v_3_1_a(bit<32> v){ ig_md.aes_tmp.v31 =v; } table tb_lookup_3_1_t { key = { hdr.aes.s31 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_1_a; } } action write_v_3_2_a(bit<32> v){ ig_md.aes_tmp.v32 =v; } table tb_lookup_3_2_t { key = { hdr.aes.s32 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_2_a; } } action write_v_3_3_a(bit<32> v){ ig_md.aes_tmp.v33 =v; } table tb_lookup_3_3_t { key = { hdr.aes.s33 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_3_a; } } +Eliminated node at line 367: action write_v_3_0_a(bit<32> v){ ig_md.aes_tmp.v30 =v; } table tb_lookup_3_0_t { key = { hdr.aes.s30 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_0_a; } } action write_v_3_1_a(bit<32> v){ ig_md.aes_tmp.v31 =v; } table tb_lookup_3_1_t { key = { hdr.aes.s31 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_1_a; } } action write_v_3_2_a(bit<32> v){ ig_md.aes_tmp.v32 =v; } table tb_lookup_3_2_t { key = { hdr.aes.s32 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_2_a; } } action write_v_3_3_a(bit<32> v){ ig_md.aes_tmp.v33 =v; } table tb_lookup_3_3_t { key = { hdr.aes.s33 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_3_a; } } +Eliminated node at line 367: action write_v_3_0_a(bit<32> v){ ig_md.aes_tmp.v30 =v; } table tb_lookup_3_0_t { key = { hdr.aes.s30 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_0_a; } } action write_v_3_1_a(bit<32> v){ ig_md.aes_tmp.v31 =v; } table tb_lookup_3_1_t { key = { hdr.aes.s31 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_1_a; } } action write_v_3_2_a(bit<32> v){ ig_md.aes_tmp.v32 =v; } table tb_lookup_3_2_t { key = { hdr.aes.s32 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_2_a; } } action write_v_3_3_a(bit<32> v){ ig_md.aes_tmp.v33 =v; } table tb_lookup_3_3_t { key = { hdr.aes.s33 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_3_a; } } +Eliminated node at line 465: incr_and_recirc; +Eliminated node at line 467: do_not_recirc_final_xor; Eliminated node at line 507: tb_lookup_0_0_t.apply(); Eliminated node at line 508: tb_lookup_0_1_t.apply(); Eliminated node at line 509: tb_lookup_0_2_t.apply(); diff --git a/targets/tofino/test/testdata/aes_tworound.ref b/targets/tofino/test/testdata/aes_tworound.ref index 2659b647..2f9ec390 100644 --- a/targets/tofino/test/testdata/aes_tworound.ref +++ b/targets/tofino/test/testdata/aes_tworound.ref @@ -1,3 +1,37 @@ +Eliminated node at line 374: action write_v_0_0_a(bit<32> v){ ig_md.aes_tmp.v00 =v; } table tb_lookup_0_0_t { key = { hdr.aes.s00 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_0_a; } } table tb_lookup_0_0_t2r { key = { hdr.aes.s00 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_0_a; } } action write_v_0_1_a(bit<32> v){ ig_md.aes_tmp.v01 =v; } table tb_lookup_0_1_t { key = { hdr.aes.s01 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_1_a; } } table tb_lookup_0_1_t2r { key = { hdr.aes.s01 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_1_a; } } action write_v_0_2_a(bit<32> v){ ig_md.aes_tmp.v02 =v; } table tb_lookup_0_2_t { key = { hdr.aes.s02 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_2_a; } } table tb_lookup_0_2_t2r { key = { hdr.aes.s02 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_2_a; } } action write_v_0_3_a(bit<32> v){ ig_md.aes_tmp.v03 =v; } table tb_lookup_0_3_t { key = { hdr.aes.s03 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_3_a; } } table tb_lookup_0_3_t2r { key = { hdr.aes.s03 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_3_a; } } +Eliminated node at line 374: action write_v_0_0_a(bit<32> v){ ig_md.aes_tmp.v00 =v; } table tb_lookup_0_0_t { key = { hdr.aes.s00 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_0_a; } } table tb_lookup_0_0_t2r { key = { hdr.aes.s00 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_0_a; } } action write_v_0_1_a(bit<32> v){ ig_md.aes_tmp.v01 =v; } table tb_lookup_0_1_t { key = { hdr.aes.s01 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_1_a; } } table tb_lookup_0_1_t2r { key = { hdr.aes.s01 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_1_a; } } action write_v_0_2_a(bit<32> v){ ig_md.aes_tmp.v02 =v; } table tb_lookup_0_2_t { key = { hdr.aes.s02 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_2_a; } } table tb_lookup_0_2_t2r { key = { hdr.aes.s02 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_2_a; } } action write_v_0_3_a(bit<32> v){ ig_md.aes_tmp.v03 =v; } table tb_lookup_0_3_t { key = { hdr.aes.s03 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_3_a; } } table tb_lookup_0_3_t2r { key = { hdr.aes.s03 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_3_a; } } +Eliminated node at line 374: action write_v_0_0_a(bit<32> v){ ig_md.aes_tmp.v00 =v; } table tb_lookup_0_0_t { key = { hdr.aes.s00 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_0_a; } } table tb_lookup_0_0_t2r { key = { hdr.aes.s00 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_0_a; } } action write_v_0_1_a(bit<32> v){ ig_md.aes_tmp.v01 =v; } table tb_lookup_0_1_t { key = { hdr.aes.s01 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_1_a; } } table tb_lookup_0_1_t2r { key = { hdr.aes.s01 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_1_a; } } action write_v_0_2_a(bit<32> v){ ig_md.aes_tmp.v02 =v; } table tb_lookup_0_2_t { key = { hdr.aes.s02 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_2_a; } } table tb_lookup_0_2_t2r { key = { hdr.aes.s02 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_2_a; } } action write_v_0_3_a(bit<32> v){ ig_md.aes_tmp.v03 =v; } table tb_lookup_0_3_t { key = { hdr.aes.s03 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_3_a; } } table tb_lookup_0_3_t2r { key = { hdr.aes.s03 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_3_a; } } +Eliminated node at line 374: action write_v_0_0_a(bit<32> v){ ig_md.aes_tmp.v00 =v; } table tb_lookup_0_0_t { key = { hdr.aes.s00 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_0_a; } } table tb_lookup_0_0_t2r { key = { hdr.aes.s00 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_0_a; } } action write_v_0_1_a(bit<32> v){ ig_md.aes_tmp.v01 =v; } table tb_lookup_0_1_t { key = { hdr.aes.s01 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_1_a; } } table tb_lookup_0_1_t2r { key = { hdr.aes.s01 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_1_a; } } action write_v_0_2_a(bit<32> v){ ig_md.aes_tmp.v02 =v; } table tb_lookup_0_2_t { key = { hdr.aes.s02 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_2_a; } } table tb_lookup_0_2_t2r { key = { hdr.aes.s02 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_2_a; } } action write_v_0_3_a(bit<32> v){ ig_md.aes_tmp.v03 =v; } table tb_lookup_0_3_t { key = { hdr.aes.s03 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_3_a; } } table tb_lookup_0_3_t2r { key = { hdr.aes.s03 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_3_a; } } +Eliminated node at line 374: action write_v_0_0_a(bit<32> v){ ig_md.aes_tmp.v00 =v; } table tb_lookup_0_0_t { key = { hdr.aes.s00 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_0_a; } } table tb_lookup_0_0_t2r { key = { hdr.aes.s00 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_0_a; } } action write_v_0_1_a(bit<32> v){ ig_md.aes_tmp.v01 =v; } table tb_lookup_0_1_t { key = { hdr.aes.s01 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_1_a; } } table tb_lookup_0_1_t2r { key = { hdr.aes.s01 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_1_a; } } action write_v_0_2_a(bit<32> v){ ig_md.aes_tmp.v02 =v; } table tb_lookup_0_2_t { key = { hdr.aes.s02 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_2_a; } } table tb_lookup_0_2_t2r { key = { hdr.aes.s02 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_2_a; } } action write_v_0_3_a(bit<32> v){ ig_md.aes_tmp.v03 =v; } table tb_lookup_0_3_t { key = { hdr.aes.s03 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_3_a; } } table tb_lookup_0_3_t2r { key = { hdr.aes.s03 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_3_a; } } +Eliminated node at line 374: action write_v_0_0_a(bit<32> v){ ig_md.aes_tmp.v00 =v; } table tb_lookup_0_0_t { key = { hdr.aes.s00 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_0_a; } } table tb_lookup_0_0_t2r { key = { hdr.aes.s00 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_0_a; } } action write_v_0_1_a(bit<32> v){ ig_md.aes_tmp.v01 =v; } table tb_lookup_0_1_t { key = { hdr.aes.s01 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_1_a; } } table tb_lookup_0_1_t2r { key = { hdr.aes.s01 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_1_a; } } action write_v_0_2_a(bit<32> v){ ig_md.aes_tmp.v02 =v; } table tb_lookup_0_2_t { key = { hdr.aes.s02 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_2_a; } } table tb_lookup_0_2_t2r { key = { hdr.aes.s02 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_2_a; } } action write_v_0_3_a(bit<32> v){ ig_md.aes_tmp.v03 =v; } table tb_lookup_0_3_t { key = { hdr.aes.s03 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_3_a; } } table tb_lookup_0_3_t2r { key = { hdr.aes.s03 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_3_a; } } +Eliminated node at line 374: action write_v_0_0_a(bit<32> v){ ig_md.aes_tmp.v00 =v; } table tb_lookup_0_0_t { key = { hdr.aes.s00 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_0_a; } } table tb_lookup_0_0_t2r { key = { hdr.aes.s00 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_0_a; } } action write_v_0_1_a(bit<32> v){ ig_md.aes_tmp.v01 =v; } table tb_lookup_0_1_t { key = { hdr.aes.s01 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_1_a; } } table tb_lookup_0_1_t2r { key = { hdr.aes.s01 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_1_a; } } action write_v_0_2_a(bit<32> v){ ig_md.aes_tmp.v02 =v; } table tb_lookup_0_2_t { key = { hdr.aes.s02 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_2_a; } } table tb_lookup_0_2_t2r { key = { hdr.aes.s02 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_2_a; } } action write_v_0_3_a(bit<32> v){ ig_md.aes_tmp.v03 =v; } table tb_lookup_0_3_t { key = { hdr.aes.s03 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_3_a; } } table tb_lookup_0_3_t2r { key = { hdr.aes.s03 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_3_a; } } +Eliminated node at line 374: action write_v_0_0_a(bit<32> v){ ig_md.aes_tmp.v00 =v; } table tb_lookup_0_0_t { key = { hdr.aes.s00 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_0_a; } } table tb_lookup_0_0_t2r { key = { hdr.aes.s00 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_0_a; } } action write_v_0_1_a(bit<32> v){ ig_md.aes_tmp.v01 =v; } table tb_lookup_0_1_t { key = { hdr.aes.s01 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_1_a; } } table tb_lookup_0_1_t2r { key = { hdr.aes.s01 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_1_a; } } action write_v_0_2_a(bit<32> v){ ig_md.aes_tmp.v02 =v; } table tb_lookup_0_2_t { key = { hdr.aes.s02 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_2_a; } } table tb_lookup_0_2_t2r { key = { hdr.aes.s02 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_2_a; } } action write_v_0_3_a(bit<32> v){ ig_md.aes_tmp.v03 =v; } table tb_lookup_0_3_t { key = { hdr.aes.s03 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_3_a; } } table tb_lookup_0_3_t2r { key = { hdr.aes.s03 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_0_3_a; } } +Eliminated node at line 375: action write_v_1_0_a(bit<32> v){ ig_md.aes_tmp.v10 =v; } table tb_lookup_1_0_t { key = { hdr.aes.s10 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_0_a; } } table tb_lookup_1_0_t2r { key = { hdr.aes.s10 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_0_a; } } action write_v_1_1_a(bit<32> v){ ig_md.aes_tmp.v11 =v; } table tb_lookup_1_1_t { key = { hdr.aes.s11 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_1_a; } } table tb_lookup_1_1_t2r { key = { hdr.aes.s11 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_1_a; } } action write_v_1_2_a(bit<32> v){ ig_md.aes_tmp.v12 =v; } table tb_lookup_1_2_t { key = { hdr.aes.s12 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_2_a; } } table tb_lookup_1_2_t2r { key = { hdr.aes.s12 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_2_a; } } action write_v_1_3_a(bit<32> v){ ig_md.aes_tmp.v13 =v; } table tb_lookup_1_3_t { key = { hdr.aes.s13 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_3_a; } } table tb_lookup_1_3_t2r { key = { hdr.aes.s13 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_3_a; } } +Eliminated node at line 375: action write_v_1_0_a(bit<32> v){ ig_md.aes_tmp.v10 =v; } table tb_lookup_1_0_t { key = { hdr.aes.s10 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_0_a; } } table tb_lookup_1_0_t2r { key = { hdr.aes.s10 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_0_a; } } action write_v_1_1_a(bit<32> v){ ig_md.aes_tmp.v11 =v; } table tb_lookup_1_1_t { key = { hdr.aes.s11 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_1_a; } } table tb_lookup_1_1_t2r { key = { hdr.aes.s11 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_1_a; } } action write_v_1_2_a(bit<32> v){ ig_md.aes_tmp.v12 =v; } table tb_lookup_1_2_t { key = { hdr.aes.s12 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_2_a; } } table tb_lookup_1_2_t2r { key = { hdr.aes.s12 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_2_a; } } action write_v_1_3_a(bit<32> v){ ig_md.aes_tmp.v13 =v; } table tb_lookup_1_3_t { key = { hdr.aes.s13 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_3_a; } } table tb_lookup_1_3_t2r { key = { hdr.aes.s13 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_3_a; } } +Eliminated node at line 375: action write_v_1_0_a(bit<32> v){ ig_md.aes_tmp.v10 =v; } table tb_lookup_1_0_t { key = { hdr.aes.s10 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_0_a; } } table tb_lookup_1_0_t2r { key = { hdr.aes.s10 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_0_a; } } action write_v_1_1_a(bit<32> v){ ig_md.aes_tmp.v11 =v; } table tb_lookup_1_1_t { key = { hdr.aes.s11 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_1_a; } } table tb_lookup_1_1_t2r { key = { hdr.aes.s11 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_1_a; } } action write_v_1_2_a(bit<32> v){ ig_md.aes_tmp.v12 =v; } table tb_lookup_1_2_t { key = { hdr.aes.s12 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_2_a; } } table tb_lookup_1_2_t2r { key = { hdr.aes.s12 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_2_a; } } action write_v_1_3_a(bit<32> v){ ig_md.aes_tmp.v13 =v; } table tb_lookup_1_3_t { key = { hdr.aes.s13 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_3_a; } } table tb_lookup_1_3_t2r { key = { hdr.aes.s13 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_3_a; } } +Eliminated node at line 375: action write_v_1_0_a(bit<32> v){ ig_md.aes_tmp.v10 =v; } table tb_lookup_1_0_t { key = { hdr.aes.s10 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_0_a; } } table tb_lookup_1_0_t2r { key = { hdr.aes.s10 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_0_a; } } action write_v_1_1_a(bit<32> v){ ig_md.aes_tmp.v11 =v; } table tb_lookup_1_1_t { key = { hdr.aes.s11 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_1_a; } } table tb_lookup_1_1_t2r { key = { hdr.aes.s11 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_1_a; } } action write_v_1_2_a(bit<32> v){ ig_md.aes_tmp.v12 =v; } table tb_lookup_1_2_t { key = { hdr.aes.s12 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_2_a; } } table tb_lookup_1_2_t2r { key = { hdr.aes.s12 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_2_a; } } action write_v_1_3_a(bit<32> v){ ig_md.aes_tmp.v13 =v; } table tb_lookup_1_3_t { key = { hdr.aes.s13 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_3_a; } } table tb_lookup_1_3_t2r { key = { hdr.aes.s13 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_3_a; } } +Eliminated node at line 375: action write_v_1_0_a(bit<32> v){ ig_md.aes_tmp.v10 =v; } table tb_lookup_1_0_t { key = { hdr.aes.s10 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_0_a; } } table tb_lookup_1_0_t2r { key = { hdr.aes.s10 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_0_a; } } action write_v_1_1_a(bit<32> v){ ig_md.aes_tmp.v11 =v; } table tb_lookup_1_1_t { key = { hdr.aes.s11 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_1_a; } } table tb_lookup_1_1_t2r { key = { hdr.aes.s11 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_1_a; } } action write_v_1_2_a(bit<32> v){ ig_md.aes_tmp.v12 =v; } table tb_lookup_1_2_t { key = { hdr.aes.s12 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_2_a; } } table tb_lookup_1_2_t2r { key = { hdr.aes.s12 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_2_a; } } action write_v_1_3_a(bit<32> v){ ig_md.aes_tmp.v13 =v; } table tb_lookup_1_3_t { key = { hdr.aes.s13 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_3_a; } } table tb_lookup_1_3_t2r { key = { hdr.aes.s13 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_3_a; } } +Eliminated node at line 375: action write_v_1_0_a(bit<32> v){ ig_md.aes_tmp.v10 =v; } table tb_lookup_1_0_t { key = { hdr.aes.s10 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_0_a; } } table tb_lookup_1_0_t2r { key = { hdr.aes.s10 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_0_a; } } action write_v_1_1_a(bit<32> v){ ig_md.aes_tmp.v11 =v; } table tb_lookup_1_1_t { key = { hdr.aes.s11 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_1_a; } } table tb_lookup_1_1_t2r { key = { hdr.aes.s11 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_1_a; } } action write_v_1_2_a(bit<32> v){ ig_md.aes_tmp.v12 =v; } table tb_lookup_1_2_t { key = { hdr.aes.s12 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_2_a; } } table tb_lookup_1_2_t2r { key = { hdr.aes.s12 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_2_a; } } action write_v_1_3_a(bit<32> v){ ig_md.aes_tmp.v13 =v; } table tb_lookup_1_3_t { key = { hdr.aes.s13 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_3_a; } } table tb_lookup_1_3_t2r { key = { hdr.aes.s13 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_3_a; } } +Eliminated node at line 375: action write_v_1_0_a(bit<32> v){ ig_md.aes_tmp.v10 =v; } table tb_lookup_1_0_t { key = { hdr.aes.s10 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_0_a; } } table tb_lookup_1_0_t2r { key = { hdr.aes.s10 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_0_a; } } action write_v_1_1_a(bit<32> v){ ig_md.aes_tmp.v11 =v; } table tb_lookup_1_1_t { key = { hdr.aes.s11 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_1_a; } } table tb_lookup_1_1_t2r { key = { hdr.aes.s11 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_1_a; } } action write_v_1_2_a(bit<32> v){ ig_md.aes_tmp.v12 =v; } table tb_lookup_1_2_t { key = { hdr.aes.s12 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_2_a; } } table tb_lookup_1_2_t2r { key = { hdr.aes.s12 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_2_a; } } action write_v_1_3_a(bit<32> v){ ig_md.aes_tmp.v13 =v; } table tb_lookup_1_3_t { key = { hdr.aes.s13 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_3_a; } } table tb_lookup_1_3_t2r { key = { hdr.aes.s13 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_3_a; } } +Eliminated node at line 375: action write_v_1_0_a(bit<32> v){ ig_md.aes_tmp.v10 =v; } table tb_lookup_1_0_t { key = { hdr.aes.s10 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_0_a; } } table tb_lookup_1_0_t2r { key = { hdr.aes.s10 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_0_a; } } action write_v_1_1_a(bit<32> v){ ig_md.aes_tmp.v11 =v; } table tb_lookup_1_1_t { key = { hdr.aes.s11 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_1_a; } } table tb_lookup_1_1_t2r { key = { hdr.aes.s11 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_1_a; } } action write_v_1_2_a(bit<32> v){ ig_md.aes_tmp.v12 =v; } table tb_lookup_1_2_t { key = { hdr.aes.s12 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_2_a; } } table tb_lookup_1_2_t2r { key = { hdr.aes.s12 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_2_a; } } action write_v_1_3_a(bit<32> v){ ig_md.aes_tmp.v13 =v; } table tb_lookup_1_3_t { key = { hdr.aes.s13 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_3_a; } } table tb_lookup_1_3_t2r { key = { hdr.aes.s13 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_1_3_a; } } +Eliminated node at line 376: action write_v_2_0_a(bit<32> v){ ig_md.aes_tmp.v20 =v; } table tb_lookup_2_0_t { key = { hdr.aes.s20 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_0_a; } } table tb_lookup_2_0_t2r { key = { hdr.aes.s20 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_0_a; } } action write_v_2_1_a(bit<32> v){ ig_md.aes_tmp.v21 =v; } table tb_lookup_2_1_t { key = { hdr.aes.s21 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_1_a; } } table tb_lookup_2_1_t2r { key = { hdr.aes.s21 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_1_a; } } action write_v_2_2_a(bit<32> v){ ig_md.aes_tmp.v22 =v; } table tb_lookup_2_2_t { key = { hdr.aes.s22 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_2_a; } } table tb_lookup_2_2_t2r { key = { hdr.aes.s22 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_2_a; } } action write_v_2_3_a(bit<32> v){ ig_md.aes_tmp.v23 =v; } table tb_lookup_2_3_t { key = { hdr.aes.s23 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_3_a; } } table tb_lookup_2_3_t2r { key = { hdr.aes.s23 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_3_a; } } +Eliminated node at line 376: action write_v_2_0_a(bit<32> v){ ig_md.aes_tmp.v20 =v; } table tb_lookup_2_0_t { key = { hdr.aes.s20 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_0_a; } } table tb_lookup_2_0_t2r { key = { hdr.aes.s20 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_0_a; } } action write_v_2_1_a(bit<32> v){ ig_md.aes_tmp.v21 =v; } table tb_lookup_2_1_t { key = { hdr.aes.s21 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_1_a; } } table tb_lookup_2_1_t2r { key = { hdr.aes.s21 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_1_a; } } action write_v_2_2_a(bit<32> v){ ig_md.aes_tmp.v22 =v; } table tb_lookup_2_2_t { key = { hdr.aes.s22 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_2_a; } } table tb_lookup_2_2_t2r { key = { hdr.aes.s22 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_2_a; } } action write_v_2_3_a(bit<32> v){ ig_md.aes_tmp.v23 =v; } table tb_lookup_2_3_t { key = { hdr.aes.s23 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_3_a; } } table tb_lookup_2_3_t2r { key = { hdr.aes.s23 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_3_a; } } +Eliminated node at line 376: action write_v_2_0_a(bit<32> v){ ig_md.aes_tmp.v20 =v; } table tb_lookup_2_0_t { key = { hdr.aes.s20 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_0_a; } } table tb_lookup_2_0_t2r { key = { hdr.aes.s20 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_0_a; } } action write_v_2_1_a(bit<32> v){ ig_md.aes_tmp.v21 =v; } table tb_lookup_2_1_t { key = { hdr.aes.s21 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_1_a; } } table tb_lookup_2_1_t2r { key = { hdr.aes.s21 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_1_a; } } action write_v_2_2_a(bit<32> v){ ig_md.aes_tmp.v22 =v; } table tb_lookup_2_2_t { key = { hdr.aes.s22 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_2_a; } } table tb_lookup_2_2_t2r { key = { hdr.aes.s22 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_2_a; } } action write_v_2_3_a(bit<32> v){ ig_md.aes_tmp.v23 =v; } table tb_lookup_2_3_t { key = { hdr.aes.s23 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_3_a; } } table tb_lookup_2_3_t2r { key = { hdr.aes.s23 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_3_a; } } +Eliminated node at line 376: action write_v_2_0_a(bit<32> v){ ig_md.aes_tmp.v20 =v; } table tb_lookup_2_0_t { key = { hdr.aes.s20 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_0_a; } } table tb_lookup_2_0_t2r { key = { hdr.aes.s20 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_0_a; } } action write_v_2_1_a(bit<32> v){ ig_md.aes_tmp.v21 =v; } table tb_lookup_2_1_t { key = { hdr.aes.s21 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_1_a; } } table tb_lookup_2_1_t2r { key = { hdr.aes.s21 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_1_a; } } action write_v_2_2_a(bit<32> v){ ig_md.aes_tmp.v22 =v; } table tb_lookup_2_2_t { key = { hdr.aes.s22 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_2_a; } } table tb_lookup_2_2_t2r { key = { hdr.aes.s22 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_2_a; } } action write_v_2_3_a(bit<32> v){ ig_md.aes_tmp.v23 =v; } table tb_lookup_2_3_t { key = { hdr.aes.s23 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_3_a; } } table tb_lookup_2_3_t2r { key = { hdr.aes.s23 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_3_a; } } +Eliminated node at line 376: action write_v_2_0_a(bit<32> v){ ig_md.aes_tmp.v20 =v; } table tb_lookup_2_0_t { key = { hdr.aes.s20 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_0_a; } } table tb_lookup_2_0_t2r { key = { hdr.aes.s20 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_0_a; } } action write_v_2_1_a(bit<32> v){ ig_md.aes_tmp.v21 =v; } table tb_lookup_2_1_t { key = { hdr.aes.s21 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_1_a; } } table tb_lookup_2_1_t2r { key = { hdr.aes.s21 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_1_a; } } action write_v_2_2_a(bit<32> v){ ig_md.aes_tmp.v22 =v; } table tb_lookup_2_2_t { key = { hdr.aes.s22 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_2_a; } } table tb_lookup_2_2_t2r { key = { hdr.aes.s22 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_2_a; } } action write_v_2_3_a(bit<32> v){ ig_md.aes_tmp.v23 =v; } table tb_lookup_2_3_t { key = { hdr.aes.s23 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_3_a; } } table tb_lookup_2_3_t2r { key = { hdr.aes.s23 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_3_a; } } +Eliminated node at line 376: action write_v_2_0_a(bit<32> v){ ig_md.aes_tmp.v20 =v; } table tb_lookup_2_0_t { key = { hdr.aes.s20 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_0_a; } } table tb_lookup_2_0_t2r { key = { hdr.aes.s20 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_0_a; } } action write_v_2_1_a(bit<32> v){ ig_md.aes_tmp.v21 =v; } table tb_lookup_2_1_t { key = { hdr.aes.s21 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_1_a; } } table tb_lookup_2_1_t2r { key = { hdr.aes.s21 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_1_a; } } action write_v_2_2_a(bit<32> v){ ig_md.aes_tmp.v22 =v; } table tb_lookup_2_2_t { key = { hdr.aes.s22 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_2_a; } } table tb_lookup_2_2_t2r { key = { hdr.aes.s22 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_2_a; } } action write_v_2_3_a(bit<32> v){ ig_md.aes_tmp.v23 =v; } table tb_lookup_2_3_t { key = { hdr.aes.s23 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_3_a; } } table tb_lookup_2_3_t2r { key = { hdr.aes.s23 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_3_a; } } +Eliminated node at line 376: action write_v_2_0_a(bit<32> v){ ig_md.aes_tmp.v20 =v; } table tb_lookup_2_0_t { key = { hdr.aes.s20 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_0_a; } } table tb_lookup_2_0_t2r { key = { hdr.aes.s20 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_0_a; } } action write_v_2_1_a(bit<32> v){ ig_md.aes_tmp.v21 =v; } table tb_lookup_2_1_t { key = { hdr.aes.s21 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_1_a; } } table tb_lookup_2_1_t2r { key = { hdr.aes.s21 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_1_a; } } action write_v_2_2_a(bit<32> v){ ig_md.aes_tmp.v22 =v; } table tb_lookup_2_2_t { key = { hdr.aes.s22 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_2_a; } } table tb_lookup_2_2_t2r { key = { hdr.aes.s22 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_2_a; } } action write_v_2_3_a(bit<32> v){ ig_md.aes_tmp.v23 =v; } table tb_lookup_2_3_t { key = { hdr.aes.s23 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_3_a; } } table tb_lookup_2_3_t2r { key = { hdr.aes.s23 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_3_a; } } +Eliminated node at line 376: action write_v_2_0_a(bit<32> v){ ig_md.aes_tmp.v20 =v; } table tb_lookup_2_0_t { key = { hdr.aes.s20 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_0_a; } } table tb_lookup_2_0_t2r { key = { hdr.aes.s20 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_0_a; } } action write_v_2_1_a(bit<32> v){ ig_md.aes_tmp.v21 =v; } table tb_lookup_2_1_t { key = { hdr.aes.s21 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_1_a; } } table tb_lookup_2_1_t2r { key = { hdr.aes.s21 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_1_a; } } action write_v_2_2_a(bit<32> v){ ig_md.aes_tmp.v22 =v; } table tb_lookup_2_2_t { key = { hdr.aes.s22 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_2_a; } } table tb_lookup_2_2_t2r { key = { hdr.aes.s22 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_2_a; } } action write_v_2_3_a(bit<32> v){ ig_md.aes_tmp.v23 =v; } table tb_lookup_2_3_t { key = { hdr.aes.s23 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_3_a; } } table tb_lookup_2_3_t2r { key = { hdr.aes.s23 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_2_3_a; } } +Eliminated node at line 377: action write_v_3_0_a(bit<32> v){ ig_md.aes_tmp.v30 =v; } table tb_lookup_3_0_t { key = { hdr.aes.s30 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_0_a; } } table tb_lookup_3_0_t2r { key = { hdr.aes.s30 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_0_a; } } action write_v_3_1_a(bit<32> v){ ig_md.aes_tmp.v31 =v; } table tb_lookup_3_1_t { key = { hdr.aes.s31 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_1_a; } } table tb_lookup_3_1_t2r { key = { hdr.aes.s31 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_1_a; } } action write_v_3_2_a(bit<32> v){ ig_md.aes_tmp.v32 =v; } table tb_lookup_3_2_t { key = { hdr.aes.s32 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_2_a; } } table tb_lookup_3_2_t2r { key = { hdr.aes.s32 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_2_a; } } action write_v_3_3_a(bit<32> v){ ig_md.aes_tmp.v33 =v; } table tb_lookup_3_3_t { key = { hdr.aes.s33 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_3_a; } } table tb_lookup_3_3_t2r { key = { hdr.aes.s33 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_3_a; } } +Eliminated node at line 377: action write_v_3_0_a(bit<32> v){ ig_md.aes_tmp.v30 =v; } table tb_lookup_3_0_t { key = { hdr.aes.s30 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_0_a; } } table tb_lookup_3_0_t2r { key = { hdr.aes.s30 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_0_a; } } action write_v_3_1_a(bit<32> v){ ig_md.aes_tmp.v31 =v; } table tb_lookup_3_1_t { key = { hdr.aes.s31 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_1_a; } } table tb_lookup_3_1_t2r { key = { hdr.aes.s31 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_1_a; } } action write_v_3_2_a(bit<32> v){ ig_md.aes_tmp.v32 =v; } table tb_lookup_3_2_t { key = { hdr.aes.s32 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_2_a; } } table tb_lookup_3_2_t2r { key = { hdr.aes.s32 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_2_a; } } action write_v_3_3_a(bit<32> v){ ig_md.aes_tmp.v33 =v; } table tb_lookup_3_3_t { key = { hdr.aes.s33 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_3_a; } } table tb_lookup_3_3_t2r { key = { hdr.aes.s33 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_3_a; } } +Eliminated node at line 377: action write_v_3_0_a(bit<32> v){ ig_md.aes_tmp.v30 =v; } table tb_lookup_3_0_t { key = { hdr.aes.s30 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_0_a; } } table tb_lookup_3_0_t2r { key = { hdr.aes.s30 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_0_a; } } action write_v_3_1_a(bit<32> v){ ig_md.aes_tmp.v31 =v; } table tb_lookup_3_1_t { key = { hdr.aes.s31 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_1_a; } } table tb_lookup_3_1_t2r { key = { hdr.aes.s31 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_1_a; } } action write_v_3_2_a(bit<32> v){ ig_md.aes_tmp.v32 =v; } table tb_lookup_3_2_t { key = { hdr.aes.s32 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_2_a; } } table tb_lookup_3_2_t2r { key = { hdr.aes.s32 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_2_a; } } action write_v_3_3_a(bit<32> v){ ig_md.aes_tmp.v33 =v; } table tb_lookup_3_3_t { key = { hdr.aes.s33 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_3_a; } } table tb_lookup_3_3_t2r { key = { hdr.aes.s33 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_3_a; } } +Eliminated node at line 377: action write_v_3_0_a(bit<32> v){ ig_md.aes_tmp.v30 =v; } table tb_lookup_3_0_t { key = { hdr.aes.s30 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_0_a; } } table tb_lookup_3_0_t2r { key = { hdr.aes.s30 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_0_a; } } action write_v_3_1_a(bit<32> v){ ig_md.aes_tmp.v31 =v; } table tb_lookup_3_1_t { key = { hdr.aes.s31 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_1_a; } } table tb_lookup_3_1_t2r { key = { hdr.aes.s31 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_1_a; } } action write_v_3_2_a(bit<32> v){ ig_md.aes_tmp.v32 =v; } table tb_lookup_3_2_t { key = { hdr.aes.s32 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_2_a; } } table tb_lookup_3_2_t2r { key = { hdr.aes.s32 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_2_a; } } action write_v_3_3_a(bit<32> v){ ig_md.aes_tmp.v33 =v; } table tb_lookup_3_3_t { key = { hdr.aes.s33 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_3_a; } } table tb_lookup_3_3_t2r { key = { hdr.aes.s33 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_3_a; } } +Eliminated node at line 377: action write_v_3_0_a(bit<32> v){ ig_md.aes_tmp.v30 =v; } table tb_lookup_3_0_t { key = { hdr.aes.s30 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_0_a; } } table tb_lookup_3_0_t2r { key = { hdr.aes.s30 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_0_a; } } action write_v_3_1_a(bit<32> v){ ig_md.aes_tmp.v31 =v; } table tb_lookup_3_1_t { key = { hdr.aes.s31 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_1_a; } } table tb_lookup_3_1_t2r { key = { hdr.aes.s31 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_1_a; } } action write_v_3_2_a(bit<32> v){ ig_md.aes_tmp.v32 =v; } table tb_lookup_3_2_t { key = { hdr.aes.s32 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_2_a; } } table tb_lookup_3_2_t2r { key = { hdr.aes.s32 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_2_a; } } action write_v_3_3_a(bit<32> v){ ig_md.aes_tmp.v33 =v; } table tb_lookup_3_3_t { key = { hdr.aes.s33 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_3_a; } } table tb_lookup_3_3_t2r { key = { hdr.aes.s33 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_3_a; } } +Eliminated node at line 377: action write_v_3_0_a(bit<32> v){ ig_md.aes_tmp.v30 =v; } table tb_lookup_3_0_t { key = { hdr.aes.s30 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_0_a; } } table tb_lookup_3_0_t2r { key = { hdr.aes.s30 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_0_a; } } action write_v_3_1_a(bit<32> v){ ig_md.aes_tmp.v31 =v; } table tb_lookup_3_1_t { key = { hdr.aes.s31 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_1_a; } } table tb_lookup_3_1_t2r { key = { hdr.aes.s31 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_1_a; } } action write_v_3_2_a(bit<32> v){ ig_md.aes_tmp.v32 =v; } table tb_lookup_3_2_t { key = { hdr.aes.s32 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_2_a; } } table tb_lookup_3_2_t2r { key = { hdr.aes.s32 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_2_a; } } action write_v_3_3_a(bit<32> v){ ig_md.aes_tmp.v33 =v; } table tb_lookup_3_3_t { key = { hdr.aes.s33 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_3_a; } } table tb_lookup_3_3_t2r { key = { hdr.aes.s33 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_3_a; } } +Eliminated node at line 377: action write_v_3_0_a(bit<32> v){ ig_md.aes_tmp.v30 =v; } table tb_lookup_3_0_t { key = { hdr.aes.s30 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_0_a; } } table tb_lookup_3_0_t2r { key = { hdr.aes.s30 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_0_a; } } action write_v_3_1_a(bit<32> v){ ig_md.aes_tmp.v31 =v; } table tb_lookup_3_1_t { key = { hdr.aes.s31 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_1_a; } } table tb_lookup_3_1_t2r { key = { hdr.aes.s31 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_1_a; } } action write_v_3_2_a(bit<32> v){ ig_md.aes_tmp.v32 =v; } table tb_lookup_3_2_t { key = { hdr.aes.s32 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_2_a; } } table tb_lookup_3_2_t2r { key = { hdr.aes.s32 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_2_a; } } action write_v_3_3_a(bit<32> v){ ig_md.aes_tmp.v33 =v; } table tb_lookup_3_3_t { key = { hdr.aes.s33 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_3_a; } } table tb_lookup_3_3_t2r { key = { hdr.aes.s33 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_3_a; } } +Eliminated node at line 377: action write_v_3_0_a(bit<32> v){ ig_md.aes_tmp.v30 =v; } table tb_lookup_3_0_t { key = { hdr.aes.s30 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_0_a; } } table tb_lookup_3_0_t2r { key = { hdr.aes.s30 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_0_a; } } action write_v_3_1_a(bit<32> v){ ig_md.aes_tmp.v31 =v; } table tb_lookup_3_1_t { key = { hdr.aes.s31 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_1_a; } } table tb_lookup_3_1_t2r { key = { hdr.aes.s31 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_1_a; } } action write_v_3_2_a(bit<32> v){ ig_md.aes_tmp.v32 =v; } table tb_lookup_3_2_t { key = { hdr.aes.s32 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_2_a; } } table tb_lookup_3_2_t2r { key = { hdr.aes.s32 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_2_a; } } action write_v_3_3_a(bit<32> v){ ig_md.aes_tmp.v33 =v; } table tb_lookup_3_3_t { key = { hdr.aes.s33 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_3_a; } } table tb_lookup_3_3_t2r { key = { hdr.aes.s33 : exact; hdr.aes_meta.curr_round: exact; } size = 3600; actions = { write_v_3_3_a; } } +Eliminated node at line 475: incr_and_recirc; +Eliminated node at line 477: do_not_recirc_final_xor; Eliminated node at line 517: tb_lookup_0_0_t.apply(); Eliminated node at line 518: tb_lookup_0_1_t.apply(); Eliminated node at line 519: tb_lookup_0_2_t.apply(); diff --git a/targets/tofino/test/testdata/bri_with_pdfixed_thrift.ref b/targets/tofino/test/testdata/bri_with_pdfixed_thrift.ref index 6b03c136..3ac01436 100644 --- a/targets/tofino/test/testdata/bri_with_pdfixed_thrift.ref +++ b/targets/tofino/test/testdata/bri_with_pdfixed_thrift.ref @@ -1,3 +1,5 @@ +Eliminated node at line 90: hit; +Eliminated node at line 112: route; Replaced node at line 119: forward.apply(); with miss(); Eliminated node at line 121: ipRouteMulticast.apply(); Replaced node at line 107: vrf : exact; with 0 diff --git a/targets/tofino/test/testdata/config/bfd/scion.ref b/targets/tofino/test/testdata/config/bfd/scion.ref index 18fafbb7..ea3a95af 100644 --- a/targets/tofino/test/testdata/config/bfd/scion.ref +++ b/targets/tofino/test/testdata/config/bfd/scion.ref @@ -1,3 +1,10 @@ +Eliminated node at line 1128: deliver_local_ipv6; +Eliminated node at line 1129: deliver_local_service_ipv6; +Eliminated node at line 1151: deliver_local_ipv6; +Eliminated node at line 1152: deliver_local_service_ipv6; +Eliminated node at line 1194: set_local_source_ipv6; +Eliminated node at line 1253: forward_remote_ipv6; +Eliminated node at line 1254: forward_local_ipv6; Eliminated node at line 1486: bfd_state = !tbl_bfd_local.apply().hit; Replaced node at line 1513: tbl_deliver_local_empty.apply(); with drop_1/drop(); Replaced node at line 1515: tbl_deliver_local.apply(); with drop(); diff --git a/targets/tofino/test/testdata/config/scion.ref b/targets/tofino/test/testdata/config/scion.ref index 2682ee39..c4540f46 100644 --- a/targets/tofino/test/testdata/config/scion.ref +++ b/targets/tofino/test/testdata/config/scion.ref @@ -1,3 +1,10 @@ +Eliminated node at line 1128: deliver_local_ipv6; +Eliminated node at line 1129: deliver_local_service_ipv6; +Eliminated node at line 1151: deliver_local_ipv6; +Eliminated node at line 1152: deliver_local_service_ipv6; +Eliminated node at line 1194: set_local_source_ipv6; +Eliminated node at line 1253: forward_remote_ipv6; +Eliminated node at line 1254: forward_local_ipv6; Eliminated node at line 1486: bfd_state = !tbl_bfd_local.apply().hit; Eliminated node at line 1489: bfd_state = tbl_bfd_remote.apply().hit; Replaced node at line 1513: tbl_deliver_local_empty.apply(); with drop_1/drop(); diff --git a/targets/tofino/test/testdata/halfsiphash24_ingressegress.ref b/targets/tofino/test/testdata/halfsiphash24_ingressegress.ref index 3e146d11..52dba7c5 100644 --- a/targets/tofino/test/testdata/halfsiphash24_ingressegress.ref +++ b/targets/tofino/test/testdata/halfsiphash24_ingressegress.ref @@ -1,4 +1,4 @@ - +Eliminated node at line 388: do_not_recirc_end_in_ig; statement_count_before:193 statement_count_after:189 cyclomatic_complexity:90 diff --git a/targets/tofino/test/testdata/heavy_hitter_5tupple.ref b/targets/tofino/test/testdata/heavy_hitter_5tupple.ref index eb4289b3..01639f20 100644 --- a/targets/tofino/test/testdata/heavy_hitter_5tupple.ref +++ b/targets/tofino/test/testdata/heavy_hitter_5tupple.ref @@ -1,6 +1,7 @@ Replaced node at line 185: tbl_compute_hash.apply(); with compute_hash(); Replaced node at line 186: tbl_update_bloom_filter.apply(); with update_bloom_filter(); Replaced node at line 189: tbl_drop_table.apply(); with drop(); +Eliminated node at line 295: bytes_count_malicious_egress; Replaced node at line 341: tbl_do_add_timestamp.apply(); with do_add_timestamp(); Eliminated node at line (unknown): Eliminated node at line 344: if (!do_bytes_count_malicious_egress.apply().hit){ diff --git a/targets/tofino/test/testdata/heavy_hitter_reaction.ref b/targets/tofino/test/testdata/heavy_hitter_reaction.ref index ecf628db..12dbdbe7 100644 --- a/targets/tofino/test/testdata/heavy_hitter_reaction.ref +++ b/targets/tofino/test/testdata/heavy_hitter_reaction.ref @@ -1,6 +1,8 @@ +Eliminated node at line 165: drop; Replaced node at line 180: tbl_compute_hash.apply(); with compute_hash(); Replaced node at line 181: tbl_update_bloom_filter.apply(); with update_bloom_filter(); Eliminated node at line 184: tbl_drop.apply(); +Eliminated node at line 288: bytes_count_malicious_egress; Replaced node at line 334: tbl_do_add_timestamp.apply(); with do_add_timestamp(); Eliminated node at line (unknown): Eliminated node at line 337: if (!do_bytes_count_malicious_egress.apply().hit){ diff --git a/targets/tofino/test/testdata/heavy_hitter_srcbased.ref b/targets/tofino/test/testdata/heavy_hitter_srcbased.ref index 5d476e60..83d67061 100644 --- a/targets/tofino/test/testdata/heavy_hitter_srcbased.ref +++ b/targets/tofino/test/testdata/heavy_hitter_srcbased.ref @@ -1,6 +1,7 @@ Replaced node at line 181: tbl_compute_hash.apply(); with compute_hash(); Replaced node at line 182: tbl_update_bloom_filter.apply(); with update_bloom_filter(); Replaced node at line 185: tbl_drop_table.apply(); with drop(); +Eliminated node at line 291: bytes_count_malicious_egress; Replaced node at line 337: tbl_do_add_timestamp.apply(); with do_add_timestamp(); Eliminated node at line (unknown): Eliminated node at line 340: if (!do_bytes_count_malicious_egress.apply().hit){ diff --git a/targets/tofino/test/testdata/p40f_tofino.ref b/targets/tofino/test/testdata/p40f_tofino.ref index ba2f44f7..d3564d75 100644 --- a/targets/tofino/test/testdata/p40f_tofino.ref +++ b/targets/tofino/test/testdata/p40f_tofino.ref @@ -1,3 +1,7 @@ +Eliminated node at line 678: ipv4_forward; +Eliminated node at line 888: set_result_drop_ip; +Eliminated node at line 889: set_result_drop_pkt; +Eliminated node at line 890: set_result_redirect; Replaced node at line 972: result_match.apply(); with set_result(1023, 0); Eliminated node at line 977: ipv4_lpm.apply(); Replaced node at line 877: meta.p0f_metadata.quirk_zero_id: exact; //none with 0 diff --git a/targets/tofino/test/testdata/scion.ref b/targets/tofino/test/testdata/scion.ref index e618429c..135221da 100644 --- a/targets/tofino/test/testdata/scion.ref +++ b/targets/tofino/test/testdata/scion.ref @@ -1,3 +1,12 @@ +Eliminated node at line 903: create_bridge_hdr; +Eliminated node at line 1024: set_ingress_interface; +Eliminated node at line 1128: deliver_local_ipv6; +Eliminated node at line 1129: deliver_local_service_ipv6; +Eliminated node at line 1151: deliver_local_ipv6; +Eliminated node at line 1152: deliver_local_service_ipv6; +Eliminated node at line 1194: set_local_source_ipv6; +Eliminated node at line 1253: forward_remote_ipv6; +Eliminated node at line 1254: forward_local_ipv6; Eliminated node at line 1272: bool local_destination = tbl_check_local.apply().hit; Eliminated node at line 1279: hdr.scion_hop_1.mac = hdr.bridge.hop_field_1.hop_field.mac; Eliminated node at line 1330: tbl_select_accelerator.apply(); diff --git a/targets/tofino/test/testdata/simple_forwarder.ref b/targets/tofino/test/testdata/simple_forwarder.ref index 2e53a6f4..3a86506c 100644 --- a/targets/tofino/test/testdata/simple_forwarder.ref +++ b/targets/tofino/test/testdata/simple_forwarder.ref @@ -1,3 +1,4 @@ +Eliminated node at line 191: bytes_count_malicious_egress; Replaced node at line 237: tbl_do_add_timestamp.apply(); with do_add_timestamp(); Eliminated node at line (unknown): Eliminated node at line 240: if (!do_bytes_count_malicious_egress.apply().hit){ diff --git a/targets/tofino/test/testdata/tna_action_profile.ref b/targets/tofino/test/testdata/tna_action_profile.ref index 745f0752..0203f0d4 100644 --- a/targets/tofino/test/testdata/tna_action_profile.ref +++ b/targets/tofino/test/testdata/tna_action_profile.ref @@ -1,3 +1,8 @@ +Eliminated node at line 128: set_port; +Eliminated node at line 147: set_nexthop; +Eliminated node at line 148: send_to_cpu; +Eliminated node at line 160: set_nexthop; +Eliminated node at line 161: send_to_cpu; Eliminated node at line 177: vid = hdr.vlan_tag.vid; Eliminated node at line 183: forward.apply(); Eliminated node at line (unknown): diff --git a/targets/tofino/test/testdata/tna_action_selector.ref b/targets/tofino/test/testdata/tna_action_selector.ref index 3669ae6a..36d98b6b 100644 --- a/targets/tofino/test/testdata/tna_action_selector.ref +++ b/targets/tofino/test/testdata/tna_action_selector.ref @@ -1,3 +1,6 @@ +Eliminated node at line 110: hit; +Eliminated node at line 111: set_md; +Eliminated node at line 122: actions = { hit; } Replaced node at line 127: forward.apply(); with miss(); Eliminated node at line 128: set_dest.apply(); Replaced node at line 121: key = { ig_md.md : exact; } with 0 diff --git a/targets/tofino/test/testdata/tna_bridged_md.ref b/targets/tofino/test/testdata/tna_bridged_md.ref index fc78d5f4..f4cfc675 100644 --- a/targets/tofino/test/testdata/tna_bridged_md.ref +++ b/targets/tofino/test/testdata/tna_bridged_md.ref @@ -1,3 +1,6 @@ +Eliminated node at line 109: bridge_add_ig_intr_md; +Eliminated node at line 110: bridge_add_example_hdr; +Eliminated node at line 122: set_output_port; Eliminated node at line 127: bridge_md_ctrl.apply(); Eliminated node at line 129: output_port.apply(); statement_count_before:34 diff --git a/targets/tofino/test/testdata/tna_checksum.ref b/targets/tofino/test/testdata/tna_checksum.ref index e141aed9..c8ff1ea1 100644 --- a/targets/tofino/test/testdata/tna_checksum.ref +++ b/targets/tofino/test/testdata/tna_checksum.ref @@ -1,3 +1,13 @@ +Eliminated node at line 173: snat; +Eliminated node at line 174: stpat; +Eliminated node at line 175: sntpat; +Eliminated node at line 176: supat; +Eliminated node at line 177: snupat; +Eliminated node at line 178: checksum_upd_ipv4; +Eliminated node at line 179: checksum_upd_tcp; +Eliminated node at line 180: checksum_upd_udp; +Eliminated node at line 181: checksum_upd_ipv4_tcp_udp; +Eliminated node at line 193: set_output_port; Eliminated node at line 199: translate.apply(); Eliminated node at line 201: output_port.apply(); Eliminated node at line 205: if (hdr.udp.checksum == 0 && ig_md.checksum_upd_udp) { diff --git a/targets/tofino/test/testdata/tna_counter.ref b/targets/tofino/test/testdata/tna_counter.ref index 20a965e3..1e01c1ff 100644 --- a/targets/tofino/test/testdata/tna_counter.ref +++ b/targets/tofino/test/testdata/tna_counter.ref @@ -1,3 +1,6 @@ +Eliminated node at line 114: hit; +Eliminated node at line 138: hit_forward_exact; +Eliminated node at line 154: hit_dst; Eliminated node at line 164: forward.apply(); Eliminated node at line 165: forward_exact.apply(); Eliminated node at line 166: forward_dst.apply(); diff --git a/targets/tofino/test/testdata/tna_custom_hash.ref b/targets/tofino/test/testdata/tna_custom_hash.ref index df52535e..defa3bd1 100644 --- a/targets/tofino/test/testdata/tna_custom_hash.ref +++ b/targets/tofino/test/testdata/tna_custom_hash.ref @@ -1,3 +1,4 @@ +Eliminated node at line 114: set_output_port; Eliminated node at line 141: output_port.apply(); Replaced node at line 145: tbl_hash1.apply(); with apply_hash1(); Replaced node at line 146: tbl_hash2.apply(); with apply_hash2(); diff --git a/targets/tofino/test/testdata/tna_digest.ref b/targets/tofino/test/testdata/tna_digest.ref index 243cef40..7fb9eeda 100644 --- a/targets/tofino/test/testdata/tna_digest.ref +++ b/targets/tofino/test/testdata/tna_digest.ref @@ -1,4 +1,7 @@ Eliminated node at line 86: } else if (ig_dprsr_md.digest_type == 2) { +Eliminated node at line 116: smac_hit; +Eliminated node at line 137: dmac_hit; +Eliminated node at line 138: dmac_hit_with_digest; Replaced node at line 154: smac.apply(); with smac_miss(); Eliminated node at line 165: dmac.apply(); Replaced node at line 84: if (ig_dprsr_md.digest_type == 1) { with 1 diff --git a/targets/tofino/test/testdata/tna_dkm.ref b/targets/tofino/test/testdata/tna_dkm.ref index 7aa038dd..c365c8ef 100644 --- a/targets/tofino/test/testdata/tna_dkm.ref +++ b/targets/tofino/test/testdata/tna_dkm.ref @@ -1,3 +1,6 @@ +Eliminated node at line 109: hit; +Eliminated node at line 143: route; +Eliminated node at line 144: nat; Replaced node at line 153: forward.apply(); with miss(); Eliminated node at line 155: ipRoute.apply(); Replaced node at line 138: vrf : exact; with 0 diff --git a/targets/tofino/test/testdata/tna_exact_match.ref b/targets/tofino/test/testdata/tna_exact_match.ref index 84c76dd4..30605821 100644 --- a/targets/tofino/test/testdata/tna_exact_match.ref +++ b/targets/tofino/test/testdata/tna_exact_match.ref @@ -1,3 +1,7 @@ +Eliminated node at line 108: hit; +Eliminated node at line 142: route; +Eliminated node at line 143: nat; +Eliminated node at line 159: hit; Replaced node at line 168: forward.apply(); with miss(1); Eliminated node at line 170: ipRoute.apply(); Eliminated node at line 171: forward_timeout.apply(); diff --git a/targets/tofino/test/testdata/tna_field_slice.ref b/targets/tofino/test/testdata/tna_field_slice.ref index 9b98fb4f..7b400886 100644 --- a/targets/tofino/test/testdata/tna_field_slice.ref +++ b/targets/tofino/test/testdata/tna_field_slice.ref @@ -1,3 +1,12 @@ +Eliminated node at line 97: hit; +Eliminated node at line 112: hit; +Eliminated node at line 135: hit; +Eliminated node at line 150: hit; +Eliminated node at line 168: hit; +Eliminated node at line 186: hit; +Eliminated node at line 204: hit; +Eliminated node at line 222: hit; +Eliminated node at line 237: hit; Eliminated node at line 246: forward_single_field_single_slice.apply(); Eliminated node at line 247: forward_single_field_single_slice_ternary.apply(); Eliminated node at line 248: forward_single_field_single_slice_lpm.apply(); diff --git a/targets/tofino/test/testdata/tna_idletimeout.ref b/targets/tofino/test/testdata/tna_idletimeout.ref index 13d91b11..010cfa6a 100644 --- a/targets/tofino/test/testdata/tna_idletimeout.ref +++ b/targets/tofino/test/testdata/tna_idletimeout.ref @@ -1,3 +1,5 @@ +Eliminated node at line 92: hit; +Eliminated node at line 107: hit; Eliminated node at line 118: dmac.apply(); Eliminated node at line 119: dmac_indirect.apply(); statement_count_before:11 diff --git a/targets/tofino/test/testdata/tna_lpm_match.ref b/targets/tofino/test/testdata/tna_lpm_match.ref index b7913263..672f55bb 100644 --- a/targets/tofino/test/testdata/tna_lpm_match.ref +++ b/targets/tofino/test/testdata/tna_lpm_match.ref @@ -1,3 +1,5 @@ +Eliminated node at line 97: hit; +Eliminated node at line 119: route; Replaced node at line 128: forward.apply(); with miss(); Eliminated node at line 129: alpm_forward.apply(); Replaced node at line 92: vrf : exact; with 0 diff --git a/targets/tofino/test/testdata/tna_meter_bytecount_adjust.ref b/targets/tofino/test/testdata/tna_meter_bytecount_adjust.ref index 5eb394db..f7d41b38 100644 --- a/targets/tofino/test/testdata/tna_meter_bytecount_adjust.ref +++ b/targets/tofino/test/testdata/tna_meter_bytecount_adjust.ref @@ -1,3 +1,5 @@ +Eliminated node at line 87: set_color; +Eliminated node at line 98: set_color_direct; Eliminated node at line 105: meter_color.apply(); Eliminated node at line 106: direct_meter_color.apply(); statement_count_before:10 diff --git a/targets/tofino/test/testdata/tna_multicast.ref b/targets/tofino/test/testdata/tna_multicast.ref index 8178f7ea..3d7f0c93 100644 --- a/targets/tofino/test/testdata/tna_multicast.ref +++ b/targets/tofino/test/testdata/tna_multicast.ref @@ -1,3 +1,8 @@ +Eliminated node at line 125: set_ifid; +Eliminated node at line 145: set_src_ifid_md; +Eliminated node at line 171: l2_switch; +Eliminated node at line 172: route; +Eliminated node at line 195: mcast_route; Eliminated node at line 202: ing_port.apply(); Eliminated node at line 203: ing_src_ifid.apply(); Replaced node at line 204: ing_dmac.apply(); with flood(); diff --git a/targets/tofino/test/testdata/tna_operations.ref b/targets/tofino/test/testdata/tna_operations.ref index 5b745318..dc81ad9b 100644 --- a/targets/tofino/test/testdata/tna_operations.ref +++ b/targets/tofino/test/testdata/tna_operations.ref @@ -1,3 +1,5 @@ +Eliminated node at line 106: hit; +Eliminated node at line 121: hit_dst; Replaced node at line 130: forward.apply(); with miss(); Eliminated node at line 131: forward_dst.apply(); statement_count_before:15 diff --git a/targets/tofino/test/testdata/tna_pktgen.ref b/targets/tofino/test/testdata/tna_pktgen.ref index e326e44a..3ee6038e 100644 --- a/targets/tofino/test/testdata/tna_pktgen.ref +++ b/targets/tofino/test/testdata/tna_pktgen.ref @@ -1,3 +1,5 @@ +Eliminated node at line 95: match; +Eliminated node at line 110: match; Replaced node at line 119: t.apply(); with drop(); Replaced node at line 121: p.apply(); with drop_1/drop(); statement_count_before:15 diff --git a/targets/tofino/test/testdata/tna_port_metadata.ref b/targets/tofino/test/testdata/tna_port_metadata.ref index 4b0dcbae..a55f5205 100644 --- a/targets/tofino/test/testdata/tna_port_metadata.ref +++ b/targets/tofino/test/testdata/tna_port_metadata.ref @@ -1,3 +1,4 @@ +Eliminated node at line 117: hit; Replaced node at line 126: port_md_exm_match.apply(); with miss(); statement_count_before:9 statement_count_after:9 diff --git a/targets/tofino/test/testdata/tna_port_metadata_extern.ref b/targets/tofino/test/testdata/tna_port_metadata_extern.ref index 2aee95db..323c7e44 100644 --- a/targets/tofino/test/testdata/tna_port_metadata_extern.ref +++ b/targets/tofino/test/testdata/tna_port_metadata_extern.ref @@ -1,3 +1,4 @@ +Eliminated node at line 126: hit; Replaced node at line 135: port_md_exm_match.apply(); with miss(); statement_count_before:10 statement_count_after:10 diff --git a/targets/tofino/test/testdata/tna_ports.ref b/targets/tofino/test/testdata/tna_ports.ref index b8af4dbc..0f321e24 100644 --- a/targets/tofino/test/testdata/tna_ports.ref +++ b/targets/tofino/test/testdata/tna_ports.ref @@ -1,3 +1,6 @@ +Eliminated node at line 90: hit; +Eliminated node at line 120: route; +Eliminated node at line 121: nat; Replaced node at line 128: forward.apply(); with miss(); Eliminated node at line 130: ipRoute.apply(); Replaced node at line 115: vrf : exact; with 0 diff --git a/targets/tofino/test/testdata/tna_proxy_hash.ref b/targets/tofino/test/testdata/tna_proxy_hash.ref index 68d626e2..aaee11ef 100644 --- a/targets/tofino/test/testdata/tna_proxy_hash.ref +++ b/targets/tofino/test/testdata/tna_proxy_hash.ref @@ -1,3 +1,5 @@ +Eliminated node at line 95: set_output_port; +Eliminated node at line 113: set_output_port; Eliminated node at line 126: ipv4_match_regular.apply(); Eliminated node at line 127: ipv4_match_proxy_hash.apply(); statement_count_before:11 diff --git a/targets/tofino/test/testdata/tna_range_match.ref b/targets/tofino/test/testdata/tna_range_match.ref index 7703e5a4..2a99d8f6 100644 --- a/targets/tofino/test/testdata/tna_range_match.ref +++ b/targets/tofino/test/testdata/tna_range_match.ref @@ -1,3 +1,4 @@ +Eliminated node at line 93: hit; Replaced node at line 102: forward.apply(); with miss(); statement_count_before:10 statement_count_after:10 diff --git a/targets/tofino/test/testdata/tna_register.ref b/targets/tofino/test/testdata/tna_register.ref index c3bad084..eb8af5af 100644 --- a/targets/tofino/test/testdata/tna_register.ref +++ b/targets/tofino/test/testdata/tna_register.ref @@ -1,3 +1,5 @@ +Eliminated node at line 104: register_action; +Eliminated node at line 130: register_action_dir; Eliminated node at line 137: reg_match.apply(); Eliminated node at line 138: reg_match_dir.apply(); statement_count_before:18 diff --git a/targets/tofino/test/testdata/tna_simple_action_profile.ref b/targets/tofino/test/testdata/tna_simple_action_profile.ref index 39f9950f..2513b46f 100644 --- a/targets/tofino/test/testdata/tna_simple_action_profile.ref +++ b/targets/tofino/test/testdata/tna_simple_action_profile.ref @@ -1,3 +1,4 @@ +Eliminated node at line 114: set_port; Eliminated node at line 126: forward.apply(); statement_count_before:6 statement_count_after:5 diff --git a/targets/tofino/test/testdata/tna_simple_action_selector.ref b/targets/tofino/test/testdata/tna_simple_action_selector.ref index bad9a9f0..d59073cc 100644 --- a/targets/tofino/test/testdata/tna_simple_action_selector.ref +++ b/targets/tofino/test/testdata/tna_simple_action_selector.ref @@ -1,3 +1,4 @@ +Eliminated node at line 122: set_port; Eliminated node at line 134: forward.apply(); statement_count_before:6 statement_count_after:5 diff --git a/targets/tofino/test/testdata/tna_simple_switch.ref b/targets/tofino/test/testdata/tna_simple_switch.ref index c97d51e5..eb2b10ec 100644 --- a/targets/tofino/test/testdata/tna_simple_switch.ref +++ b/targets/tofino/test/testdata/tna_simple_switch.ref @@ -1,3 +1,56 @@ +Eliminated node at line 239: actions = { set_port_attributes; } +Eliminated node at line 256: set_bd_attributes; +Eliminated node at line 146: malformed_pkt; +Eliminated node at line 147: valid_pkt_untagged; +Eliminated node at line 148: valid_pkt_tagged; +Eliminated node at line 177: valid_ipv4_pkt; +Eliminated node at line 178: malformed_pkt; +Eliminated node at line 205: valid_ipv6_pkt; +Eliminated node at line 206: malformed_pkt; +Eliminated node at line 360: drop; +Eliminated node at line 361: end; // END +Eliminated node at line 362: end_x; // END.X +Eliminated node at line 363: end_t; // END.T +Eliminated node at line 364: end_dx2; // END.DX2 +Eliminated node at line 365: end_dx2v; // END.DX2V +Eliminated node at line 366: end_dt2u; // END.DT2U +Eliminated node at line 367: end_dt2m; // END.DT2M +Eliminated node at line 368: end_dx4; // END.DX4 +Eliminated node at line 369: end_dx6; // END.DX6 +Eliminated node at line 370: end_dt4; // END.DT4 +Eliminated node at line 372: end_dt6; // END.DT6 +Eliminated node at line 373: end_b6; // END.B6 +Eliminated node at line 374: end_b6_red; // END.B6.Red +Eliminated node at line 375: end_b6_encaps; // END.B6.Encaps +Eliminated node at line 376: end_b6_encaps_red; // END.B6.Encaps.Red +Eliminated node at line 380: end_map; end_m_gtp6_d; end_m_gtp6_e; end_m_gtp4_d; end_limit; +Eliminated node at line 380: end_map; end_m_gtp6_d; end_m_gtp6_e; end_m_gtp4_d; end_limit; +Eliminated node at line 380: end_map; end_m_gtp6_d; end_m_gtp6_e; end_m_gtp4_d; end_limit; +Eliminated node at line 380: end_map; end_m_gtp6_d; end_m_gtp6_e; end_m_gtp4_d; end_limit; +Eliminated node at line 380: end_map; end_m_gtp6_d; end_m_gtp6_e; end_m_gtp4_d; end_limit; +Eliminated node at line 381: end_as; end_ad; static_proxy; dynamic_proxy; +Eliminated node at line 381: end_as; end_ad; static_proxy; dynamic_proxy; +Eliminated node at line 381: end_as; end_ad; static_proxy; dynamic_proxy; +Eliminated node at line 381: end_as; end_ad; static_proxy; dynamic_proxy; +Eliminated node at line 391: t; +Eliminated node at line 392: t_insert; +Eliminated node at line 393: t_insert_red; +Eliminated node at line 394: t_encaps; +Eliminated node at line 395: t_encaps_red; +Eliminated node at line 396: t_encaps_l2; +Eliminated node at line 397: t_encaps_l2_red; +Eliminated node at line 297: dmac_hit; +Eliminated node at line 329: fib_hit; +Eliminated node at line 344: fib_hit; +Eliminated node at line 378: fib_hit; +Eliminated node at line 393: fib_hit; +Eliminated node at line 438: set_nexthop_attributes; +Eliminated node at line 453: set_nexthop_attributes; +Eliminated node at line 475: rewrite_ipv4; +Eliminated node at line 476: rewrite_ipv6; +Eliminated node at line 494: rewrite_smac; +Eliminated node at line 542: set_port; +Eliminated node at line 595: rmac_hit; Eliminated node at line 265: port_mapping.apply(); Eliminated node at line 266: port_vlan_to_bd_mapping.apply(); Eliminated node at line 213: validate_ethernet.apply(); @@ -8,6 +61,12 @@ Eliminated node at line 503: NoAction : { ecmp.apply(); } Eliminated node at line 507: if (routed) { Replaced node at line 305: dmac.apply(); with mac_dmac_miss_0/dmac_miss(); Eliminated node at line 551: lag.apply(); +Eliminated node at line 442: decap_inner_tcp; +Eliminated node at line 691: rewrite_ipv6; +Eliminated node at line 779: rewrite_srh_0; // No SRH +Eliminated node at line 780: rewrite_srh_1; // SRH with 1 segment +Eliminated node at line 781: rewrite_srh_2; // SRH with 2 segments +Eliminated node at line 782: rewrite_srh_3; // SRH with 3 segments Eliminated node at line 797: ipv6_rewrite.apply(); Eliminated node at line 798: srh_rewrite.apply(); Replaced node at line 249: ig_md.ifindex : exact; with 0 diff --git a/targets/tofino/test/testdata/tna_snapshot.ref b/targets/tofino/test/testdata/tna_snapshot.ref index bbb9a1ae..04d632c3 100644 --- a/targets/tofino/test/testdata/tna_snapshot.ref +++ b/targets/tofino/test/testdata/tna_snapshot.ref @@ -1,3 +1,5 @@ +Eliminated node at line 103: hit; +Eliminated node at line 126: route; Replaced node at line 133: forward.apply(); with miss(); Eliminated node at line 134: ipRoute.apply(); statement_count_before:16 diff --git a/targets/tofino/test/testdata/tna_symmetric_hash.ref b/targets/tofino/test/testdata/tna_symmetric_hash.ref index ee5026c9..3dfd290d 100644 --- a/targets/tofino/test/testdata/tna_symmetric_hash.ref +++ b/targets/tofino/test/testdata/tna_symmetric_hash.ref @@ -1,3 +1,4 @@ +Eliminated node at line 101: set_output_port; Eliminated node at line 106: output_port.apply(); Replaced node at line 61: bypass_egress.apply(); with bypass_egress_set_bypass_egress_0/set_bypass_egress(); statement_count_before:12 diff --git a/targets/tofino/test/testdata/tna_timestamp.ref b/targets/tofino/test/testdata/tna_timestamp.ref index 79c455f0..61ae96a5 100644 --- a/targets/tofino/test/testdata/tna_timestamp.ref +++ b/targets/tofino/test/testdata/tna_timestamp.ref @@ -1,3 +1,4 @@ +Eliminated node at line 119: set_output_port; Eliminated node at line 127: output_port.apply(); statement_count_before:24 statement_count_after:23 diff --git a/targets/tofino/test/testdata/tofino_stamper_v1_2_0.ref b/targets/tofino/test/testdata/tofino_stamper_v1_2_0.ref index a792a839..0b860643 100644 --- a/targets/tofino/test/testdata/tofino_stamper_v1_2_0.ref +++ b/targets/tofino/test/testdata/tofino_stamper_v1_2_0.ref @@ -1,3 +1,12 @@ +Eliminated node at line 367: send; +Eliminated node at line 380: send; +Eliminated node at line 381: send_to_mc_group; +Eliminated node at line 393: send; +Eliminated node at line 404: add_timestamp_header_tcp; +Eliminated node at line 416: add_timestamp2_tcp; +Eliminated node at line 426: add_timestamp_header_udp; +Eliminated node at line 437: add_timestamp2_udp; +Eliminated node at line 447: duplicate_to_dut; Eliminated node at line 457: t_l1_forwarding.apply(); Eliminated node at line 458: t_l2_forwarding.apply(); Eliminated node at line 462: t_l3_forwarding.apply(); @@ -10,6 +19,8 @@ Eliminated node at line 488: if(meta.l4_metadata.added_empty_header == 1w0x1 || Eliminated node at line 492: if(meta.l4_metadata.timestamp2 == 1w0x1){ Eliminated node at line 510: if(meta.l4_metadata.added_empty_header == 1w0x1){ Eliminated node at line 541: if(meta.l4_metadata.updateChecksum == 1w0x1){ +Eliminated node at line 840: change_mac; +Eliminated node at line 850: change_empty_field; Eliminated node at line 856: broadcast_mac.apply(); Eliminated node at line 867: t_mark_duplicate.apply(); Replaced node at line 248: } else if(meta.timestamp_metadata.delta < min_value) { with 0 diff --git a/targets/tofino/test/testdata/unibs_flowrest.ref b/targets/tofino/test/testdata/unibs_flowrest.ref index 23525ac2..744c1f30 100644 --- a/targets/tofino/test/testdata/unibs_flowrest.ref +++ b/targets/tofino/test/testdata/unibs_flowrest.ref @@ -1,3 +1,13 @@ +Eliminated node at line 305: actions = {@defaultonly nop; SetCode0;} +Eliminated node at line 311: actions = {@defaultonly nop; SetCode1;} +Eliminated node at line 317: actions = {@defaultonly nop; SetCode2;} +Eliminated node at line 323: actions = {@defaultonly nop; SetCode3;} +Eliminated node at line 329: actions = {@defaultonly nop; SetCode4;} +Eliminated node at line 337: actions = {@defaultonly nop; SetClass0;} +Eliminated node at line 343: actions = {@defaultonly nop; SetClass1;} +Eliminated node at line 349: actions = {@defaultonly nop; SetClass2;} +Eliminated node at line 360: actions = {set_final_class; @defaultonly nop;} +Eliminated node at line 374: actions = {set_flow_action; @defaultonly set_miss_flow_action;} Replaced node at line 386: flow_action_table.apply(); with set_miss_flow_action(); Eliminated node at line 390: if (hdr.recirc.isValid()){ Eliminated node at line 505: if (ig_dprsr_md.digest_type == 1) {