19#ifndef BF_P4C_PARDE_PARSER_QUERY_H_
20#define BF_P4C_PARDE_PARSER_QUERY_H_
24#include "backends/tofino/bf-p4c/parde/parde_visitor.h"
25#include "backends/tofino/bf-p4c/parde/parser_info.h"
26#include "ir/pass_manager.h"
41 const IR::BFN::ParserPrimitive *qp)
const;
48 const IR::BFN::Parser *parser,
const IR::BFN::ParserPrimitive *p,
49 const IR::BFN::ParserState *ps,
const IR::BFN::ParserPrimitive *q,
50 const IR::BFN::ParserState *qs =
nullptr)
const;
59 const IR::BFN::ParserPrimitive *p,
76 : parser_info(pi), field_to_states(fs) {}
Definition ordered_set.h:32
Definition phv_fields.h:1095
Map field to the parser states in which they are extracted or assigned from checksums.
Definition phv_fields.h:1755
Collection of functions to check parser information.
Definition parser_query.h:35
bool is_single_write(const ordered_set< const IR::BFN::ParserPrimitive * > &writes) const
Definition parser_query.cpp:88
bool is_before(const ordered_set< const IR::BFN::ParserPrimitive * > &writes, const IR::BFN::Parser *parser, const IR::BFN::ParserPrimitive *p, const IR::BFN::ParserState *ps, const IR::BFN::ParserPrimitive *q, const IR::BFN::ParserState *qs=nullptr) const
Definition parser_query.cpp:35
ordered_set< const IR::BFN::ParserPrimitive * > find_inits(const ordered_set< const IR::BFN::ParserPrimitive * > &writes) const
Definition parser_query.cpp:99
ordered_set< const IR::BFN::ParserPrimitive * > get_previous_writes(const IR::BFN::ParserPrimitive *p, const ordered_set< const IR::BFN::ParserPrimitive * > &writes) const
Definition parser_query.cpp:71
bool same_const_source(const IR::BFN::ParserPrimitive *pp, const IR::BFN::ParserPrimitive *qp) const
Do two extracts use the same constant value?
Definition parser_query.cpp:24