35class AddSelectorSalu :
public PassManager {
40 AddSelectorSalu &self;
41 bool preorder(
const IR::MAU::StatefulAlu *salu) {
42 if (salu->selector) self.sel2salu[salu->selector] = salu;
45 bool preorder(
const IR::Expression *) {
return false; }
47 explicit FindSelectorSalu(AddSelectorSalu &self) : self(self) {}
51 AddSelectorSalu &self;
52 bool preorder(IR::MAU::Table *);
53 bool preorder(IR::Expression *) {
return false; }
55 explicit AddSaluIfNeeded(AddSelectorSalu &self) : self(self) {}
59 AddSelectorSalu() : PassManager({
new FindSelectorSalu(*
this),
new AddSaluIfNeeded(*
this)}) {}
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:24