P4C
The P4 Compiler
Loading...
Searching...
No Matches
entryPriorities.h
1/*
2 * Copyright 2023 Mihai Budiu
3 * SPDX-FileCopyrightText: 2023 Mihai Budiu
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 */
7
8#ifndef FRONTENDS_P4_ENTRYPRIORITIES_H_
9#define FRONTENDS_P4_ENTRYPRIORITIES_H_
10
11#include "coreLibrary.h"
12#include "frontends/common/resolveReferences/resolveReferences.h"
13#include "ir/ir.h"
14#include "ir/pass_manager.h"
15
16namespace P4 {
17
19class EntryPriorities : public Transform, public ResolutionContext {
20 P4::P4CoreLibrary &corelib;
21
22 bool requiresPriority(const IR::KeyElement *ke) const;
23
24 public:
25 EntryPriorities() : corelib(P4::P4CoreLibrary::instance()) { setName("EntryPriorities"); }
26 const IR::Node *preorder(IR::EntriesList *entries) override;
27};
28
29} // namespace P4
30
31#endif /* FRONTENDS_P4_ENTRYPRIORITIES_H_ */
Definition node.h:53
Definition coreLibrary.h:103
Definition visitor.h:442
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:13