30    std::set<const IR::Parameter *> toDereference;
 
   31    std::vector<cstring> saveAction;
 
   34    std::vector<UBPFRegister *> registersLookups;
 
   42    bool preorder(
const IR::PathExpression *expression) 
override;
 
   43    bool preorder(
const IR::MethodCallStatement *s) 
override;
 
   44    bool preorder(
const IR::MethodCallExpression *expression) 
override;
 
   45    bool preorder(
const IR::AssignmentStatement *a) 
override;
 
   46    bool preorder(
const IR::BlockStatement *s) 
override;
 
   47    bool preorder(
const IR::ExitStatement *) 
override;
 
   48    bool preorder(
const IR::ReturnStatement *) 
override;
 
   49    bool preorder(
const IR::IfStatement *statement) 
override;
 
   50    bool preorder(
const IR::SwitchStatement *statement) 
override;
 
   51    bool preorder(
const IR::Operation_Binary *b) 
override;
 
   52    bool comparison(
const IR::Operation_Relation *b);
 
   53    bool preorder(
const IR::Member *expression) 
override;
 
   55    void emitAssignmentStatement(
const IR::AssignmentStatement *a);
 
   56    bool emitRegisterRead(
const IR::AssignmentStatement *a, 
const IR::MethodCallExpression *method);
 
 
   62    const IR::ControlBlock *controlBlock;
 
   63    const IR::Parameter *headers;
 
   64    const IR::Parameter *parserHeaders;
 
   69    std::set<const IR::Parameter *> toDereference;
 
   70    std::map<cstring, UBPFTable *> tables;
 
   71    std::map<cstring, UBPFRegister *> registers;
 
   74                const IR::Parameter *parserHeaders);
 
   84        auto result = ::get(tables, name);
 
   85        BUG_CHECK(result != 
nullptr, 
"No table named %1%", name);
 
   90        auto result = ::get(registers, name);
 
   91        BUG_CHECK(result != 
nullptr, 
"No register named %1%", name);
 
 
Definition ebpfControl.h:28
 
Definition ubpfControl.h:27