8#ifndef BACKENDS_DPDK_DPDKUTILS_H_
9#define BACKENDS_DPDK_DPDKUTILS_H_
11#include "frontends/common/resolveReferences/resolveReferences.h"
15bool isSimpleExpression(
const IR::Expression *e);
16bool isNonConstantSimpleExpression(
const IR::Expression *e);
17bool isCommutativeBinaryOperation(
const IR::Operation_Binary *bin);
18bool isStandardMetadata(cstring name);
19bool isMetadataStruct(
const IR::Type_Struct *st);
20bool isMetadataField(
const IR::Expression *e);
21bool isEightBitAligned(
const IR::Expression *e);
22bool isDirection(
const IR::Member *m);
23bool isHeadersStruct(
const IR::Type_Struct *st);
24bool isLargeFieldOperand(
const IR::Expression *e);
25bool isInsideHeader(
const IR::Expression *e);
26bool isValidCall(
const IR::MethodCallExpression *m);
27bool isValidMemberField(
const IR::Member *mem);
29const IR::Type_Bits *getEightBitAlignedType(
const IR::Type_Bits *tb);
32bool reservedNames(P4::ReferenceMap *refMap,
const std::vector<cstring> &names, cstring &resName);
35 int indexBitWidth,
int initValBitwidth);
Definition dpdk/backend.cpp:26
IR::Declaration_Instance * createRegDeclarationInstance(cstring instanceName, int regSize, int indexBitWidth, int initValBitWidth)
Creates Register extern declaration for holding persistent information.
Definition dpdkUtils.cpp:116
int getMetadataFieldWidth(int width)
Definition dpdkUtils.cpp:147
bool reservedNames(P4::ReferenceMap *refMap, const std::vector< cstring > &names, cstring &resName)
Check for reserved names for DPDK target.
Definition dpdkUtils.cpp:133