124 IR::Node *preorder(IR::BFN::AliasMember *alias)
override {
125 const PHV::Field *aliasSource = phv.field(alias->source);
126 const PHV::Field *aliasDestination = phv.field(alias);
127 BUG_CHECK(aliasSource,
"Field %1% not found", alias->source);
128 BUG_CHECK(aliasDestination,
"Field %1% not found", alias);
129 phv.addAliasMapEntry(aliasSource, aliasDestination);
130 return alias->source->apply(ReinstateAliasSources(phv))->clone();
133 IR::Node *preorder(IR::BFN::AliasSlice *alias)
override {
134 const PHV::Field *aliasSource = phv.field(alias->source);
135 const PHV::Field *aliasDestination = phv.field(alias);
136 BUG_CHECK(aliasSource,
"Field %1% not found", alias->source);
137 BUG_CHECK(aliasDestination,
"Field %1% not found", alias);
138 phv.addAliasMapEntry(aliasSource, aliasDestination);
139 return alias->source->apply(ReinstateAliasSources(phv))->clone();
143 explicit ReinstateAliasSources(
PhvInfo &p) : phv(p) {}
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:24