#include "aie/Dialect/AIE/IR/AIEDialect.h"
#include "aie/Dialect/AIE/Transforms/AIEPasses.h"
#include "mlir/IR/IRMapping.h"
#include "mlir/Pass/Pass.h"
#include <map>
#include <optional>
#include <set>
#include <tuple>
#include <utility>
#include <vector>
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallBitVector.h"
#include "aie/Dialect/AIE/Transforms/AIEPasses.h.inc"
Go to the source code of this file.
◆ DEBUG_TYPE
| #define DEBUG_TYPE "aie-find-flows" |
◆ GEN_PASS_DEF_AIEFINDFLOWS
| #define GEN_PASS_DEF_AIEFINDFLOWS |
◆ FlowKey
| using FlowKey = std::tuple<int, int, int, int, int, int, int, int, int, int> |
◆ FlowKeySet
◆ MaskValue
Initial value:
int mask;
int value;
}
struct MaskValue { int mask; int value;} MaskValue
Definition at line 36 of file AIEFindFlows.cpp.
◆ PacketConnection
Initial value:
llvm::SmallVector<Via, 4> vias;
llvm::SmallVector<Operation *, 8> usedOps;
bool isPacket = false;
}
struct PacketConnection { PortConnection portConnection; MaskValue mv; llvm::SmallVector< Via, 4 > vias; llvm::SmallVector< Operation *, 8 > usedOps; bool isPacket=false;} PacketConnection
struct PortConnection { Operation *op; Port port;} PortConnection
Definition at line 62 of file AIEFindFlows.cpp.
◆ PortConnection
Initial value:
Operation *op;
}
struct Port { WireBundle bundle; int channel; bool operator==(const Port &rhs) const { return std::tie(bundle, channel)==std::tie(rhs.bundle, rhs.channel); } bool operator!=(const Port &rhs) const { return !(*this==rhs);} bool operator<(const Port &rhs) const { return std::tie(bundle, channel)< std::tie(rhs.bundle, rhs.channel); } friend std::ostream &operator<<(std::ostream &os, const Port &port) { os<< "("; os<< stringifyWireBundle(port.bundle).str(); os<< ": "<< std::to_string(port.channel)<< ")"; return os; } friend llvm::raw_ostream &operator<<(llvm::raw_ostream &os, const Port &port) { os<< to_string(port); return os; } } Port
Definition at line 41 of file AIEFindFlows.cpp.
◆ PortMaskValue
Initial value:
llvm::SmallVector<Operation *, 3> ops;
}
struct PortMaskValue { Port port; MaskValue mv; llvm::SmallVector< Operation *, 3 > ops;} PortMaskValue
Definition at line 46 of file AIEFindFlows.cpp.