P4C
The P4 Compiler
Loading...
Searching...
No Matches
simplifyBitwise.h
1#ifndef MIDEND_SIMPLIFYBITWISE_H_
2#define MIDEND_SIMPLIFYBITWISE_H_
3
4#include "ir/ir.h"
5#include "ir/visitor.h"
6#include "lib/ordered_set.h"
7
8namespace P4 {
9
26class SimplifyBitwise : public Transform {
27 IR::Vector<IR::StatOrDecl> *slice_statements = nullptr;
28 const IR::AssignmentStatement *changing_as = nullptr;
29
30 void assignSlices(const IR::Expression *expr, big_int mask);
31
32 public:
33 const IR::Node *preorder(IR::AssignmentStatement *as) override;
34};
35
36} // namespace P4
37
38#endif /* MIDEND_SIMPLIFYBITWISE_H_ */
Definition node.h:95
Definition vector.h:59
Definition simplifyBitwise.h:26
Definition visitor.h:424
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:24