Skip to content

Commit f305477

Browse files
[NFCI][Comb][HW][Seq] Refactor TableGen Pass includes
1 parent b271e8a commit f305477

16 files changed

+96
-113
lines changed

include/circt/Dialect/HW/HWPasses.h

+3
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
namespace circt {
2222
namespace hw {
2323

24+
#define GEN_PASS_DECL
25+
#include "circt/Dialect/HW/Passes.h.inc"
26+
2427
std::unique_ptr<mlir::Pass> createPrintInstanceGraphPass();
2528
std::unique_ptr<mlir::Pass> createHWSpecializePass();
2629
std::unique_ptr<mlir::Pass> createPrintHWModuleGraphPass();

lib/Dialect/Comb/Transforms/LowerComb.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
//
77
//===----------------------------------------------------------------------===//
88

9-
#include "PassDetails.h"
109
#include "circt/Dialect/Comb/CombOps.h"
1110
#include "circt/Dialect/Comb/CombPasses.h"
11+
#include "circt/Dialect/HW/HWOps.h"
1212
#include "mlir/Transforms/DialectConversion.h"
1313
#include "llvm/ADT/TypeSwitch.h"
1414

lib/Dialect/Comb/Transforms/PassDetails.h

-27
This file was deleted.

lib/Dialect/HW/Transforms/FlattenIO.cpp

+9-2
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,19 @@
66
//
77
//===----------------------------------------------------------------------===//
88

9-
#include "PassDetails.h"
109
#include "circt/Dialect/HW/HWOps.h"
1110
#include "circt/Dialect/HW/HWPasses.h"
11+
#include "mlir/Pass/Pass.h"
1212
#include "mlir/Transforms/DialectConversion.h"
1313
#include "llvm/ADT/TypeSwitch.h"
1414

15+
namespace circt {
16+
namespace hw {
17+
#define GEN_PASS_DEF_FLATTENIO
18+
#include "circt/Dialect/HW/Passes.h.inc"
19+
} // namespace hw
20+
} // namespace circt
21+
1522
using namespace mlir;
1623
using namespace circt;
1724

@@ -483,7 +490,7 @@ static bool flattenIO(ModuleOp module, bool recursive,
483490

484491
namespace {
485492

486-
class FlattenIOPass : public circt::hw::FlattenIOBase<FlattenIOPass> {
493+
class FlattenIOPass : public circt::hw::impl::FlattenIOBase<FlattenIOPass> {
487494
public:
488495
FlattenIOPass(bool recursiveFlag, bool flattenExternFlag, char join) {
489496
recursive = recursiveFlag;

lib/Dialect/HW/Transforms/FooWires.cpp

+8-2
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,24 @@
99
//
1010
//===----------------------------------------------------------------------===//
1111

12-
#include "PassDetails.h"
1312
#include "circt/Dialect/HW/HWOps.h"
1413
#include "circt/Dialect/HW/HWPasses.h"
1514
#include "circt/Dialect/HW/HWTypes.h"
1615
#include "mlir/Pass/Pass.h"
1716

17+
namespace circt {
18+
namespace hw {
19+
#define GEN_PASS_DEF_FOOWIRES
20+
#include "circt/Dialect/HW/Passes.h.inc"
21+
} // namespace hw
22+
} // namespace circt
23+
1824
using namespace circt;
1925
using namespace hw;
2026

2127
namespace {
2228
// A test pass that simply replaces all wire names with foo_<n>
23-
struct FooWiresPass : FooWiresBase<FooWiresPass> {
29+
struct FooWiresPass : circt::hw::impl::FooWiresBase<FooWiresPass> {
2430
void runOnOperation() override;
2531
};
2632
} // namespace

lib/Dialect/HW/Transforms/HWPrintInstanceGraph.cpp

+10-2
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,26 @@
99
//
1010
//===----------------------------------------------------------------------===//
1111

12-
#include "PassDetails.h"
1312
#include "circt/Dialect/HW/HWInstanceGraph.h"
13+
#include "circt/Dialect/HW/HWOps.h"
1414
#include "circt/Dialect/HW/HWPasses.h"
15+
#include "mlir/Pass/Pass.h"
1516
#include "llvm/Support/GraphWriter.h"
1617
#include "llvm/Support/raw_ostream.h"
1718

19+
namespace circt {
20+
namespace hw {
21+
#define GEN_PASS_DEF_PRINTINSTANCEGRAPH
22+
#include "circt/Dialect/HW/Passes.h.inc"
23+
} // namespace hw
24+
} // namespace circt
25+
1826
using namespace circt;
1927
using namespace hw;
2028

2129
namespace {
2230
struct PrintInstanceGraphPass
23-
: public PrintInstanceGraphBase<PrintInstanceGraphPass> {
31+
: public circt::hw::impl::PrintInstanceGraphBase<PrintInstanceGraphPass> {
2432
PrintInstanceGraphPass(raw_ostream &os) : os(os) {}
2533
void runOnOperation() override {
2634
InstanceGraph &instanceGraph = getAnalysis<InstanceGraph>();

lib/Dialect/HW/Transforms/HWSpecialize.cpp

+10-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13-
#include "PassDetails.h"
1413
#include "circt/Dialect/Comb/CombOps.h"
1514
#include "circt/Dialect/HW/HWAttributes.h"
1615
#include "circt/Dialect/HW/HWOps.h"
@@ -21,9 +20,17 @@
2120
#include "mlir/IR/Builders.h"
2221
#include "mlir/IR/IRMapping.h"
2322
#include "mlir/IR/PatternMatch.h"
23+
#include "mlir/Pass/Pass.h"
2424
#include "mlir/Transforms/DialectConversion.h"
2525
#include "llvm/ADT/TypeSwitch.h"
2626

27+
namespace circt {
28+
namespace hw {
29+
#define GEN_PASS_DEF_HWSPECIALIZE
30+
#include "circt/Dialect/HW/Passes.h.inc"
31+
} // namespace hw
32+
} // namespace circt
33+
2734
using namespace llvm;
2835
using namespace mlir;
2936
using namespace circt;
@@ -189,7 +196,8 @@ struct ParametricTypeConversionPattern : public ConversionPattern {
189196
ArrayAttr parameters;
190197
};
191198

192-
struct HWSpecializePass : public hw::HWSpecializeBase<HWSpecializePass> {
199+
struct HWSpecializePass
200+
: public circt::hw::impl::HWSpecializeBase<HWSpecializePass> {
193201
void runOnOperation() override;
194202
};
195203

lib/Dialect/HW/Transforms/PassDetails.h

-31
This file was deleted.

lib/Dialect/HW/Transforms/PrintHWModuleGraph.cpp

+10-2
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,26 @@
99
//
1010
//===----------------------------------------------------------------------===//
1111

12-
#include "PassDetails.h"
1312
#include "circt/Dialect/HW/HWModuleGraph.h"
13+
#include "circt/Dialect/HW/HWOps.h"
1414
#include "circt/Dialect/HW/HWPasses.h"
15+
#include "mlir/Pass/Pass.h"
1516
#include "llvm/Support/GraphWriter.h"
1617
#include "llvm/Support/raw_ostream.h"
1718

19+
namespace circt {
20+
namespace hw {
21+
#define GEN_PASS_DEF_PRINTHWMODULEGRAPH
22+
#include "circt/Dialect/HW/Passes.h.inc"
23+
} // namespace hw
24+
} // namespace circt
25+
1826
using namespace circt;
1927
using namespace hw;
2028

2129
namespace {
2230
struct PrintHWModuleGraphPass
23-
: public PrintHWModuleGraphBase<PrintHWModuleGraphPass> {
31+
: public circt::hw::impl::PrintHWModuleGraphBase<PrintHWModuleGraphPass> {
2432
PrintHWModuleGraphPass(raw_ostream &os) : os(os) {}
2533
void runOnOperation() override {
2634
getOperation().walk([&](hw::HWModuleOp module) {

lib/Dialect/HW/Transforms/VerifyInnerRefNamespace.cpp

+10-2
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,24 @@
1212
//
1313
//===----------------------------------------------------------------------===//
1414

15-
#include "PassDetails.h"
1615
#include "circt/Dialect/HW/HWOpInterfaces.h"
16+
#include "circt/Dialect/HW/HWOps.h"
1717
#include "circt/Dialect/HW/HWPasses.h"
18+
#include "mlir/Pass/Pass.h"
1819

1920
/// VerifyInnerRefNamespace pass until have container operation.
2021

22+
namespace circt {
23+
namespace hw {
24+
#define GEN_PASS_DEF_VERIFYINNERREFNAMESPACE
25+
#include "circt/Dialect/HW/Passes.h.inc"
26+
} // namespace hw
27+
} // namespace circt
28+
2129
namespace {
2230

2331
class VerifyInnerRefNamespacePass
24-
: public circt::hw::VerifyInnerRefNamespaceBase<
32+
: public circt::hw::impl::VerifyInnerRefNamespaceBase<
2533
VerifyInnerRefNamespacePass> {
2634
public:
2735
void runOnOperation() override {

lib/Dialect/Seq/Transforms/ExternalizeClockGate.cpp

+4-2
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@
66
//
77
//===----------------------------------------------------------------------===//
88

9-
#include "PassDetails.h"
109
#include "circt/Dialect/Comb/CombOps.h"
1110
#include "circt/Dialect/HW/HWOps.h"
1211
#include "circt/Dialect/Seq/SeqOps.h"
12+
#include "circt/Dialect/Seq/SeqPasses.h"
1313
#include "mlir/IR/ImplicitLocOpBuilder.h"
14+
#include "mlir/Pass/Pass.h"
1415

1516
namespace circt {
1617
namespace seq {
@@ -25,7 +26,8 @@ using namespace hw;
2526

2627
namespace {
2728
struct ExternalizeClockGatePass
28-
: public impl::ExternalizeClockGateBase<ExternalizeClockGatePass> {
29+
: public circt::seq::impl::ExternalizeClockGateBase<
30+
ExternalizeClockGatePass> {
2931
using ExternalizeClockGateBase<
3032
ExternalizeClockGatePass>::ExternalizeClockGateBase;
3133
void runOnOperation() override;

lib/Dialect/Seq/Transforms/HWMemSimImpl.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
//
1212
//===----------------------------------------------------------------------===//
1313

14-
#include "PassDetails.h"
1514
#include "circt/Dialect/Comb/CombOps.h"
1615
#include "circt/Dialect/Emit/EmitOps.h"
1716
#include "circt/Dialect/HW/HWAttributes.h"
@@ -20,8 +19,10 @@
2019
#include "circt/Dialect/HW/InnerSymbolNamespace.h"
2120
#include "circt/Dialect/SV/SVOps.h"
2221
#include "circt/Dialect/Seq/SeqAttributes.h"
22+
#include "circt/Dialect/Seq/SeqOps.h"
2323
#include "circt/Dialect/Seq/SeqPasses.h"
2424
#include "mlir/IR/ImplicitLocOpBuilder.h"
25+
#include "mlir/Pass/Pass.h"
2526
#include "llvm/ADT/TypeSwitch.h"
2627
#include "llvm/Support/Path.h"
2728

lib/Dialect/Seq/Transforms/LowerSeqFIFO.cpp

+10-5
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,22 @@
66
//
77
//===----------------------------------------------------------------------===//
88

9-
#include "PassDetails.h"
109
#include "circt/Dialect/Comb/CombOps.h"
1110
#include "circt/Dialect/SV/SVOps.h"
1211
#include "circt/Dialect/Seq/SeqOps.h"
1312
#include "circt/Dialect/Seq/SeqPasses.h"
1413
#include "circt/Support/BackedgeBuilder.h"
14+
#include "mlir/Pass/Pass.h"
1515
#include "mlir/Transforms/DialectConversion.h"
1616
#include "llvm/ADT/TypeSwitch.h"
1717

18+
namespace circt {
19+
namespace seq {
20+
#define GEN_PASS_DEF_LOWERSEQFIFO
21+
#include "circt/Dialect/Seq/SeqPasses.h.inc"
22+
} // namespace seq
23+
} // namespace circt
24+
1825
using namespace circt;
1926
using namespace seq;
2027

@@ -166,10 +173,8 @@ struct FIFOLowering : public OpConversionPattern<seq::FIFOOp> {
166173
}
167174
};
168175

169-
#define GEN_PASS_DEF_LOWERSEQFIFO
170-
#include "circt/Dialect/Seq/SeqPasses.h.inc"
171-
172-
struct LowerSeqFIFOPass : public impl::LowerSeqFIFOBase<LowerSeqFIFOPass> {
176+
struct LowerSeqFIFOPass
177+
: public circt::seq::impl::LowerSeqFIFOBase<LowerSeqFIFOPass> {
173178
void runOnOperation() override;
174179
};
175180

lib/Dialect/Seq/Transforms/LowerSeqHLMem.cpp

+10-6
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,20 @@
1111
//
1212
//===----------------------------------------------------------------------===//
1313

14-
#include "PassDetails.h"
1514
#include "circt/Dialect/SV/SVOps.h"
1615
#include "circt/Dialect/Seq/SeqOps.h"
1716
#include "circt/Dialect/Seq/SeqPasses.h"
17+
#include "mlir/Pass/Pass.h"
1818
#include "mlir/Transforms/DialectConversion.h"
1919
#include "llvm/ADT/TypeSwitch.h"
2020

21+
namespace circt {
22+
namespace seq {
23+
#define GEN_PASS_DEF_LOWERSEQHLMEM
24+
#include "circt/Dialect/Seq/SeqPasses.h.inc"
25+
} // namespace seq
26+
} // namespace circt
27+
2128
using namespace circt;
2229
using namespace seq;
2330

@@ -148,11 +155,8 @@ struct SimpleBehavioralMemoryLowering
148155
return success();
149156
}
150157
};
151-
152-
#define GEN_PASS_DEF_LOWERSEQHLMEM
153-
#include "circt/Dialect/Seq/SeqPasses.h.inc"
154-
155-
struct LowerSeqHLMemPass : public impl::LowerSeqHLMemBase<LowerSeqHLMemPass> {
158+
struct LowerSeqHLMemPass
159+
: public circt::seq::impl::LowerSeqHLMemBase<LowerSeqHLMemPass> {
156160
void runOnOperation() override;
157161
};
158162

0 commit comments

Comments
 (0)