Skip to content

Commit 9106d6b

Browse files
Merge pull request #4881 from YosysHQ/pmgen-pass-restructure
Move passes out of the passes/pmgen folder
2 parents 7896029 + 0ec5f1b commit 9106d6b

31 files changed

+71
-77
lines changed

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -652,6 +652,9 @@ OBJS += libs/fst/fastlz.o
652652
OBJS += libs/fst/lz4.o
653653
endif
654654

655+
techlibs/%_pm.h: passes/pmgen/pmgen.py techlibs/%.pmg
656+
$(P) mkdir -p $(dir $@) && $(PYTHON_EXECUTABLE) $< -o $@ -p $(notdir $*) $(filter-out $<,$^)
657+
655658
ifneq ($(SMALL),1)
656659

657660
OBJS += libs/subcircuit/subcircuit.o

passes/opt/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/peepopt*_pm.h

passes/opt/Makefile.inc

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,18 @@ OBJS += passes/opt/opt_lut_ins.o
2222
OBJS += passes/opt/opt_ffinv.o
2323
OBJS += passes/opt/pmux2shiftx.o
2424
OBJS += passes/opt/muxpack.o
25+
26+
OBJS += passes/opt/peepopt.o
27+
GENFILES += passes/opt/peepopt_pm.h
28+
passes/opt/peepopt.o: passes/opt/peepopt_pm.h
29+
$(eval $(call add_extra_objs,passes/opt/peepopt_pm.h))
30+
31+
PEEPOPT_PATTERN = passes/opt/peepopt_shiftmul_right.pmg
32+
PEEPOPT_PATTERN += passes/opt/peepopt_shiftmul_left.pmg
33+
PEEPOPT_PATTERN += passes/opt/peepopt_shiftadd.pmg
34+
PEEPOPT_PATTERN += passes/opt/peepopt_muldiv.pmg
35+
PEEPOPT_PATTERN += passes/opt/peepopt_formal_clockgateff.pmg
36+
37+
passes/opt/peepopt_pm.h: passes/pmgen/pmgen.py $(PEEPOPT_PATTERN)
38+
$(P) mkdir -p $(dir $@) && $(PYTHON_EXECUTABLE) $< -o $@ -p peepopt $(filter-out $<,$^)
2539
endif

passes/pmgen/peepopt.cc renamed to passes/opt/peepopt.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ bool did_something;
2828
// scratchpad configurations for pmgen
2929
int shiftadd_max_ratio;
3030

31-
#include "passes/pmgen/peepopt_pm.h"
31+
#include "passes/opt/peepopt_pm.h"
3232

3333
struct PeepoptPass : public Pass {
3434
PeepoptPass() : Pass("peepopt", "collection of peephole optimizers") { }
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

passes/pmgen/Makefile.inc

Lines changed: 3 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,10 @@
1-
%_pm.h: passes/pmgen/pmgen.py %.pmg
2-
$(P) mkdir -p $(dir $@) && $(PYTHON_EXECUTABLE) $< -o $@ -p $(subst _pm.h,,$(notdir $@)) $(filter-out $<,$^)
1+
passes/pmgen/%_pm.h: passes/pmgen/pmgen.py passes/pmgen/%.pmg
2+
$(P) mkdir -p $(dir $@) && $(PYTHON_EXECUTABLE) $< -o $@ -p $(notdir $*) $(filter-out $<,$^)
33

44
# --------------------------------------
55

66
OBJS += passes/pmgen/test_pmgen.o
77
GENFILES += passes/pmgen/test_pmgen_pm.h
8-
passes/pmgen/test_pmgen.o: passes/pmgen/test_pmgen_pm.h passes/pmgen/ice40_dsp_pm.h passes/pmgen/peepopt_pm.h passes/pmgen/xilinx_srl_pm.h
8+
passes/pmgen/test_pmgen.o: passes/pmgen/test_pmgen_pm.h techlibs/ice40/ice40_dsp_pm.h techlibs/xilinx/xilinx_srl_pm.h
99
$(eval $(call add_extra_objs,passes/pmgen/test_pmgen_pm.h))
1010

11-
# --------------------------------------
12-
13-
OBJS += passes/pmgen/ice40_dsp.o
14-
GENFILES += passes/pmgen/ice40_dsp_pm.h
15-
passes/pmgen/ice40_dsp.o: passes/pmgen/ice40_dsp_pm.h
16-
$(eval $(call add_extra_objs,passes/pmgen/ice40_dsp_pm.h))
17-
18-
# --------------------------------------
19-
20-
OBJS += passes/pmgen/ice40_wrapcarry.o
21-
GENFILES += passes/pmgen/ice40_wrapcarry_pm.h
22-
passes/pmgen/ice40_wrapcarry.o: passes/pmgen/ice40_wrapcarry_pm.h
23-
$(eval $(call add_extra_objs,passes/pmgen/ice40_wrapcarry_pm.h))
24-
25-
# --------------------------------------
26-
27-
OBJS += passes/pmgen/xilinx_dsp.o
28-
GENFILES += passes/pmgen/xilinx_dsp_pm.h
29-
GENFILES += passes/pmgen/xilinx_dsp48a_pm.h
30-
GENFILES += passes/pmgen/xilinx_dsp_CREG_pm.h
31-
GENFILES += passes/pmgen/xilinx_dsp_cascade_pm.h
32-
passes/pmgen/xilinx_dsp.o: passes/pmgen/xilinx_dsp_pm.h passes/pmgen/xilinx_dsp48a_pm.h passes/pmgen/xilinx_dsp_CREG_pm.h passes/pmgen/xilinx_dsp_cascade_pm.h
33-
$(eval $(call add_extra_objs,passes/pmgen/xilinx_dsp_pm.h))
34-
$(eval $(call add_extra_objs,passes/pmgen/xilinx_dsp48a_pm.h))
35-
$(eval $(call add_extra_objs,passes/pmgen/xilinx_dsp_CREG_pm.h))
36-
$(eval $(call add_extra_objs,passes/pmgen/xilinx_dsp_cascade_pm.h))
37-
38-
# --------------------------------------
39-
40-
OBJS += passes/pmgen/microchip_dsp.o
41-
GENFILES += passes/pmgen/microchip_dsp_pm.h
42-
GENFILES += passes/pmgen/microchip_dsp_CREG_pm.h
43-
GENFILES += passes/pmgen/microchip_dsp_cascade_pm.h
44-
passes/pmgen/microchip_dsp.o: passes/pmgen/microchip_dsp_pm.h passes/pmgen/microchip_dsp_CREG_pm.h passes/pmgen/microchip_dsp_cascade_pm.h
45-
$(eval $(call add_extra_objs,passes/pmgen/microchip_dsp_pm.h))
46-
$(eval $(call add_extra_objs,passes/pmgen/microchip_dsp_CREG_pm.h))
47-
$(eval $(call add_extra_objs,passes/pmgen/microchip_dsp_cascade_pm.h))
48-
49-
# --------------------------------------
50-
51-
OBJS += passes/pmgen/peepopt.o
52-
GENFILES += passes/pmgen/peepopt_pm.h
53-
passes/pmgen/peepopt.o: passes/pmgen/peepopt_pm.h
54-
$(eval $(call add_extra_objs,passes/pmgen/peepopt_pm.h))
55-
56-
PEEPOPT_PATTERN = passes/pmgen/peepopt_shiftmul_right.pmg
57-
PEEPOPT_PATTERN += passes/pmgen/peepopt_shiftmul_left.pmg
58-
PEEPOPT_PATTERN += passes/pmgen/peepopt_shiftadd.pmg
59-
PEEPOPT_PATTERN += passes/pmgen/peepopt_muldiv.pmg
60-
PEEPOPT_PATTERN += passes/pmgen/peepopt_formal_clockgateff.pmg
61-
62-
passes/pmgen/peepopt_pm.h: passes/pmgen/pmgen.py $(PEEPOPT_PATTERN)
63-
$(P) mkdir -p passes/pmgen && $(PYTHON_EXECUTABLE) $< -o $@ -p peepopt $(filter-out $<,$^)
64-
65-
# --------------------------------------
66-
67-
OBJS += passes/pmgen/xilinx_srl.o
68-
GENFILES += passes/pmgen/xilinx_srl_pm.h
69-
passes/pmgen/xilinx_srl.o: passes/pmgen/xilinx_srl_pm.h
70-
$(eval $(call add_extra_objs,passes/pmgen/xilinx_srl_pm.h))

0 commit comments

Comments
 (0)