Skip to content
Merged
Show file tree
Hide file tree
Changes from 9 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