Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions include/aie/Dialect/AIE/Transforms/AIEPasses.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,8 @@

namespace xilinx::AIE {

#define GEN_PASS_DECL_AIECORETOSTANDARD
#define GEN_PASS_DECL_AIEASSIGNBUFFERADDRESSES
#define GEN_PASS_CLASSES
#define GEN_PASS_DECL
#define GEN_PASS_DEF_AIEROUTEPATHFINDERFLOWS
#include "aie/Dialect/AIE/Transforms/AIEPasses.h.inc"

std::unique_ptr<mlir::OperationPass<DeviceOp>>
Expand Down Expand Up @@ -78,7 +77,8 @@ createAIETraceRegPackWritesPass();
/// 3. rewrite flows to stream-switches using 'weights' from analysis pass.
/// 4. check a region is legal
/// 5. rewrite stream-switches (within a bounding box) back to flows
struct AIEPathfinderPass : AIERoutePathfinderFlowsBase<AIEPathfinderPass> {
struct AIEPathfinderPass
: impl::AIERoutePathfinderFlowsBase<AIEPathfinderPass> {

AIEPathfinderPass() = default;

Expand Down
1 change: 0 additions & 1 deletion include/aie/Dialect/AIEVec/Analysis/Passes.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ namespace xilinx {
namespace aievec {

#define GEN_PASS_DECL
#define GEN_PASS_CLASSES
#include "aie/Dialect/AIEVec/Analysis/Passes.h.inc"

std::unique_ptr<mlir::Pass> createAIEVecConvolutionAnalysisPass();
Expand Down
1 change: 0 additions & 1 deletion include/aie/Dialect/AIEVec/Transforms/Passes.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ namespace xilinx {
namespace aievec {

#define GEN_PASS_DECL
#define GEN_PASS_CLASSES
#include "aie/Dialect/AIEVec/Transforms/Passes.h.inc"

std::unique_ptr<mlir::Pass> createAIEVectorizePass();
Expand Down
2 changes: 1 addition & 1 deletion include/aie/Dialect/AIEX/Transforms/AIEXPasses.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

namespace xilinx::AIEX {

#define GEN_PASS_CLASSES
#define GEN_PASS_DECL
#include "aie/Dialect/AIEX/Transforms/AIEXPasses.h.inc"

std::unique_ptr<mlir::OperationPass<AIE::DeviceOp>> createAIECreateCoresPass();
Expand Down
18 changes: 14 additions & 4 deletions lib/Conversion/AIEToConfiguration/AIEToConfiguration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,12 @@ extern "C" {
#include <utility>
#include <vector>

namespace xilinx {
#define GEN_PASS_DEF_CONVERTAIETOCONTROLPACKETS
#define GEN_PASS_DEF_CONVERTAIETOTRANSACTION
#include "aie/Conversion/Passes.h.inc"
} // namespace xilinx

#define DEBUG_TYPE "aie-convert-to-config"

using namespace mlir;
Expand Down Expand Up @@ -842,22 +848,26 @@ struct ConvertAIEToConfigurationPass : BaseClass {

struct ConvertAIEToTransactionPass
: ConvertAIEToConfigurationPass<
ConvertAIEToTransactionBase<ConvertAIEToTransactionPass>,
xilinx::impl::ConvertAIEToTransactionBase<
ConvertAIEToTransactionPass>,
AIE::AIEToConfigurationOutputType::Transaction> {
ConvertAIEToTransactionPass()
: ConvertAIEToConfigurationPass<
ConvertAIEToTransactionBase<ConvertAIEToTransactionPass>,
xilinx::impl::ConvertAIEToTransactionBase<
ConvertAIEToTransactionPass>,
AIE::AIEToConfigurationOutputType::Transaction>(clElfDir,
clDeviceName) {}
};

struct ConvertAIEToControlPacketsPass
: ConvertAIEToConfigurationPass<
ConvertAIEToControlPacketsBase<ConvertAIEToControlPacketsPass>,
xilinx::impl::ConvertAIEToControlPacketsBase<
ConvertAIEToControlPacketsPass>,
AIE::AIEToConfigurationOutputType::ControlPacket> {
ConvertAIEToControlPacketsPass()
: ConvertAIEToConfigurationPass<
ConvertAIEToControlPacketsBase<ConvertAIEToControlPacketsPass>,
xilinx::impl::ConvertAIEToControlPacketsBase<
ConvertAIEToControlPacketsPass>,
AIE::AIEToConfigurationOutputType::ControlPacket>(clElfDir,
clDeviceName) {}
};
Expand Down
8 changes: 7 additions & 1 deletion lib/Conversion/AIEVecToLLVM/AIEVecToLLVM.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,12 @@
#include "mlir/IR/TypeUtilities.h"
#include <sstream>

namespace xilinx {
using namespace mlir; // For LLVM::LLVMDialect in generated getDependentDialects
#define GEN_PASS_DEF_CONVERTAIEVECTOLLVM
#include "aie/Conversion/Passes.h.inc"
} // namespace xilinx

using namespace mlir;

namespace xilinx::aievec {
Expand Down Expand Up @@ -5669,7 +5675,7 @@ static void configureAIEVecToLLVMLegalizations(LLVMConversionTarget &target) {
}

struct ConvertAIEVecToLLVMPass
: ConvertAIEVecToLLVMBase<ConvertAIEVecToLLVMPass> {
: xilinx::impl::ConvertAIEVecToLLVMBase<ConvertAIEVecToLLVMPass> {
ConvertAIEVecToLLVMPass() = default;
ConvertAIEVecToLLVMPass(const xilinx::ConvertAIEVecToLLVMOptions &options) {
aieTarget = options.aieTarget;
Expand Down
2 changes: 0 additions & 2 deletions lib/Conversion/PassDetail.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,6 @@ namespace LLVM {
class LLVMDialect;
} // namespace LLVM

#define GEN_PASS_CLASSES
#include "aie/Conversion/Passes.h.inc"
} // namespace mlir

#endif // AIE_CONVERSION_PASSDETAIL_H_
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@

#include "mlir/Pass/Pass.h"

namespace xilinx::AIE {
#define GEN_PASS_DEF_AIEASSIGNBUFFERDESCRIPTORIDS
#include "aie/Dialect/AIE/Transforms/AIEPasses.h.inc"
} // namespace xilinx::AIE

#define DEBUG_TYPE "aie-assign-bd-ids"

using namespace mlir;
Expand Down Expand Up @@ -52,7 +57,8 @@ bool BdIdGenerator::bdIdAlreadyAssigned(uint32_t bdId) {
void BdIdGenerator::freeBdId(uint32_t bdId) { alreadyAssigned.erase(bdId); }

struct AIEAssignBufferDescriptorIDsPass
: AIEAssignBufferDescriptorIDsBase<AIEAssignBufferDescriptorIDsPass> {
: xilinx::AIE::impl::AIEAssignBufferDescriptorIDsBase<
AIEAssignBufferDescriptorIDsPass> {
void runOnOperation() override {
DeviceOp targetOp = getOperation();
const AIETargetModel &targetModel = targetOp.getTargetModel();
Expand Down
8 changes: 7 additions & 1 deletion lib/Dialect/AIE/Transforms/AIEAssignBuffers.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@

#include "mlir/IR/Attributes.h"

namespace xilinx::AIE {
#define GEN_PASS_DEF_AIEASSIGNBUFFERADDRESSES
#include "aie/Dialect/AIE/Transforms/AIEPasses.h.inc"
} // namespace xilinx::AIE

#define DEBUG_TYPE "aie-assign-buffers"

using namespace mlir;
Expand Down Expand Up @@ -467,7 +472,8 @@ LogicalResult checkBufferScope(BufferOp buffer, DeviceOp device) {
}

struct AIEAssignBufferAddressesPass
: AIEAssignBufferAddressesBase<AIEAssignBufferAddressesPass> {
: xilinx::AIE::impl::AIEAssignBufferAddressesBase<
AIEAssignBufferAddressesPass> {

AIEAssignBufferAddressesPass() = default;

Expand Down
8 changes: 7 additions & 1 deletion lib/Dialect/AIE/Transforms/AIEAssignLockIDs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,19 @@
#include "mlir/Pass/Pass.h"
#include "llvm/ADT/DenseMap.h"

namespace xilinx::AIE {
#define GEN_PASS_DEF_AIEASSIGNLOCKIDS
#include "aie/Dialect/AIE/Transforms/AIEPasses.h.inc"
} // namespace xilinx::AIE

#define DEBUG_TYPE "aie-assign-lock-ids"

using namespace mlir;
using namespace xilinx;
using namespace xilinx::AIE;

struct AIEAssignLockIDsPass : AIEAssignLockIDsBase<AIEAssignLockIDsPass> {
struct AIEAssignLockIDsPass
: xilinx::AIE::impl::AIEAssignLockIDsBase<AIEAssignLockIDsPass> {
void getDependentDialects(DialectRegistry &registry) const override {
registry.insert<func::FuncDialect>();
registry.insert<AIEDialect>();
Expand Down
7 changes: 6 additions & 1 deletion lib/Dialect/AIE/Transforms/AIECanonicalizeDevice.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,19 @@
#include "mlir/IR/Location.h"
#include "mlir/Pass/Pass.h"

namespace xilinx::AIE {
#define GEN_PASS_DEF_AIECANONICALIZEDEVICE
#include "aie/Dialect/AIE/Transforms/AIEPasses.h.inc"
} // namespace xilinx::AIE

#define DEBUG_TYPE "aie-canonicalize-device"

using namespace mlir;
using namespace xilinx;
using namespace xilinx::AIE;

struct AIECanonicalizeDevicePass
: AIECanonicalizeDeviceBase<AIECanonicalizeDevicePass> {
: xilinx::AIE::impl::AIECanonicalizeDeviceBase<AIECanonicalizeDevicePass> {
void runOnOperation() override {

ModuleOp moduleOp = getOperation();
Expand Down
8 changes: 7 additions & 1 deletion lib/Dialect/AIE/Transforms/AIECoreToStandard.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,11 @@
#include "mlir/Tools/mlir-translate/MlirTranslateMain.h"
#include "mlir/Transforms/DialectConversion.h"

namespace xilinx::AIE {
#define GEN_PASS_DEF_AIECORETOSTANDARD
#include "aie/Dialect/AIE/Transforms/AIEPasses.h.inc"
} // namespace xilinx::AIE

using namespace mlir;
using namespace mlir::vector;
using namespace xilinx;
Expand Down Expand Up @@ -678,7 +683,8 @@ struct AIEEventOpToStdLowering : OpConversionPattern<EventOp> {
}
};

struct AIECoreToStandardPass : AIECoreToStandardBase<AIECoreToStandardPass> {
struct AIECoreToStandardPass
: xilinx::AIE::impl::AIECoreToStandardBase<AIECoreToStandardPass> {
AIECoreToStandardPass() = default;
AIECoreToStandardPass(const AIECoreToStandardOptions &options) {
deviceName = options.deviceName;
Expand Down
8 changes: 7 additions & 1 deletion lib/Dialect/AIE/Transforms/AIEFindFlows.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@
#include "mlir/IR/IRMapping.h"
#include "mlir/Pass/Pass.h"

namespace xilinx::AIE {
#define GEN_PASS_DEF_AIEFINDFLOWS
#include "aie/Dialect/AIE/Transforms/AIEPasses.h.inc"
} // namespace xilinx::AIE

#define DEBUG_TYPE "aie-find-flows"

using namespace mlir;
Expand Down Expand Up @@ -265,7 +270,8 @@ static void findFlowsFrom(TileOp op, ConnectivityAnalysis &analysis,
}
}

struct AIEFindFlowsPass : public AIEFindFlowsBase<AIEFindFlowsPass> {
struct AIEFindFlowsPass
: public xilinx::AIE::impl::AIEFindFlowsBase<AIEFindFlowsPass> {
void getDependentDialects(DialectRegistry &registry) const override {
registry.insert<func::FuncDialect>();
registry.insert<AIEDialect>();
Expand Down
11 changes: 9 additions & 2 deletions lib/Dialect/AIE/Transforms/AIEGenerateColumnControlOverlay.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@

#include "llvm/ADT/SmallSet.h"

namespace xilinx::AIE {
#define GEN_PASS_DEF_AIEGENERATECOLUMNCONTROLOVERLAY
#define GEN_PASS_DEF_AIEASSIGNTILECTRLIDS
#include "aie/Dialect/AIE/Transforms/AIEPasses.h.inc"
} // namespace xilinx::AIE

#define DEBUG_TYPE "aie-generate-column-control-overlay"

using namespace mlir;
Expand Down Expand Up @@ -135,7 +141,7 @@ DenseMap<int, int> getRowToShimChanMap(const AIETargetModel &targetModel,
}

struct AIEAssignTileCtrlIDsPass
: AIEAssignTileCtrlIDsBase<AIEAssignTileCtrlIDsPass> {
: xilinx::AIE::impl::AIEAssignTileCtrlIDsBase<AIEAssignTileCtrlIDsPass> {
void getDependentDialects(DialectRegistry &registry) const override {
registry.insert<AIEDialect>();
}
Expand Down Expand Up @@ -179,7 +185,8 @@ struct AIEAssignTileCtrlIDsPass
};

struct AIEGenerateColumnControlOverlayPass
: AIEGenerateColumnControlOverlayBase<AIEGenerateColumnControlOverlayPass> {
: xilinx::AIE::impl::AIEGenerateColumnControlOverlayBase<
AIEGenerateColumnControlOverlayPass> {
void getDependentDialects(DialectRegistry &registry) const override {
registry.insert<AIEDialect>();
registry.insert<memref::MemRefDialect>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,11 @@
#include "mlir/Pass/Pass.h"
#include "mlir/Transforms/GreedyPatternRewriteDriver.h"

namespace xilinx::AIE {
#define GEN_PASS_DEF_AIEHOISTVECTORTRANSFERPOINTERS
#include "aie/Dialect/AIE/Transforms/AIEPasses.h.inc"
} // namespace xilinx::AIE

#define DEBUG_TYPE "aie-hoist-vector-transfer-pointers"

using namespace mlir;
Expand Down Expand Up @@ -557,7 +562,8 @@ struct HoistVectorTransferPointersPattern
//===----------------------------------------------------------------------===//

struct AIEHoistVectorTransferPointersPass
: AIEHoistVectorTransferPointersBase<AIEHoistVectorTransferPointersPass> {
: xilinx::AIE::impl::AIEHoistVectorTransferPointersBase<
AIEHoistVectorTransferPointersPass> {
void getDependentDialects(DialectRegistry &registry) const override {
registry.insert<affine::AffineDialect, arith::ArithDialect,
memref::MemRefDialect, scf::SCFDialect,
Expand Down
8 changes: 7 additions & 1 deletion lib/Dialect/AIE/Transforms/AIELocalizeLocks.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,19 @@
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/Pass/Pass.h"

namespace xilinx::AIE {
#define GEN_PASS_DEF_AIELOCALIZELOCKS
#include "aie/Dialect/AIE/Transforms/AIEPasses.h.inc"
} // namespace xilinx::AIE

#define DEBUG_TYPE "aie-localize-locks"

using namespace mlir;
using namespace xilinx;
using namespace xilinx::AIE;

struct AIELocalizeLocksPass : AIELocalizeLocksBase<AIELocalizeLocksPass> {
struct AIELocalizeLocksPass
: xilinx::AIE::impl::AIELocalizeLocksBase<AIELocalizeLocksPass> {
void getDependentDialects(DialectRegistry &registry) const override {
registry.insert<arith::ArithDialect>();
}
Expand Down
7 changes: 6 additions & 1 deletion lib/Dialect/AIE/Transforms/AIELowerCascadeFlows.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,19 @@

#include "llvm/ADT/Twine.h"

namespace xilinx::AIE {
#define GEN_PASS_DEF_AIELOWERCASCADEFLOWS
#include "aie/Dialect/AIE/Transforms/AIEPasses.h.inc"
} // namespace xilinx::AIE

#define DEBUG_TYPE "aie-lower-cascade-flows"

using namespace mlir;
using namespace xilinx;
using namespace xilinx::AIE;

struct AIELowerCascadeFlowsPass
: AIELowerCascadeFlowsBase<AIELowerCascadeFlowsPass> {
: xilinx::AIE::impl::AIELowerCascadeFlowsBase<AIELowerCascadeFlowsPass> {
void getDependentDialects(DialectRegistry &registry) const override {
registry.insert<AIEDialect>();
}
Expand Down
8 changes: 7 additions & 1 deletion lib/Dialect/AIE/Transforms/AIENormalizeAddressSpaces.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,14 @@ Type memRefToDefaultAddressSpace(Type t) {

#include "aie/Dialect/AIE/Transforms/AIENormalizeAddressSpaces.inc"

namespace xilinx::AIE {
#define GEN_PASS_DEF_AIENORMALIZEADDRESSSPACES
#include "aie/Dialect/AIE/Transforms/AIEPasses.h.inc"
} // namespace xilinx::AIE

struct AIENormalizeAddressSpacesPass
: AIENormalizeAddressSpacesBase<AIENormalizeAddressSpacesPass> {
: xilinx::AIE::impl::AIENormalizeAddressSpacesBase<
AIENormalizeAddressSpacesPass> {
void getDependentDialects(DialectRegistry &registry) const override {
registry.insert<func::FuncDialect>();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@

#include <queue>

namespace xilinx::AIE {
#define GEN_PASS_DEF_AIEOBJECTFIFOREGISTERPROCESS
#include "aie/Dialect/AIE/Transforms/AIEPasses.h.inc"
} // namespace xilinx::AIE

using namespace mlir;
using namespace xilinx;
using namespace xilinx::AIE;
Expand All @@ -34,7 +39,8 @@ using namespace xilinx::AIE;
// Register objectFifos Pass
//===----------------------------------------------------------------------===//
struct AIEObjectFifoRegisterProcessPass
: AIEObjectFifoRegisterProcessBase<AIEObjectFifoRegisterProcessPass> {
: xilinx::AIE::impl::AIEObjectFifoRegisterProcessBase<
AIEObjectFifoRegisterProcessPass> {

scf::ForOp createForLoop(OpBuilder &builder, int length) {
auto lowerBound = arith::ConstantOp::create(
Expand Down
Loading
Loading