/
BUILD
147 lines (142 loc) · 5.58 KB
/
BUILD
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
# HEIR tools
package(
default_applicable_licenses = ["@heir//:license"],
default_visibility = ["//visibility:public"],
)
WORKSPACE_PATH = ""
# Custom `mlir-opt` replacement that links our dialect and passes
cc_binary(
name = "heir-opt",
srcs = ["heir-opt.cpp"],
data = select({
"@heir//:disable_yosys": [],
"//conditions:default": [
"@edu_berkeley_abc//:abc",
"@heir//lib/Transforms/YosysOptimizer/yosys:share_files",
],
}),
defines = select({
"@heir//:disable_yosys": ["HEIR_NO_YOSYS=1"],
"//conditions:default": [],
}),
# Using the location directive to find share files results in multiple expanded paths.
env = select({
"@heir//:disable_yosys": {
},
"//conditions:default": {
"HEIR_ABC_BINARY": "$(location @edu_berkeley_abc//:abc)",
"HEIR_YOSYS_SCRIPTS_DIR": WORKSPACE_PATH + "lib/Transforms/YosysOptimizer/yosys",
},
}),
includes = ["include"],
deps = [
"@heir//lib/Conversion/BGVToOpenfhe",
"@heir//lib/Conversion/BGVToPolynomial",
"@heir//lib/Conversion/CGGIToTfheRust",
"@heir//lib/Conversion/CombToCGGI",
"@heir//lib/Conversion/MemrefToArith:ExpandCopy",
"@heir//lib/Conversion/MemrefToArith:MemrefToArithRegistration",
"@heir//lib/Conversion/PolynomialToStandard",
"@heir//lib/Dialect/BGV/IR:Dialect",
"@heir//lib/Dialect/CGGI/IR:Dialect",
"@heir//lib/Dialect/CGGI/Transforms",
"@heir//lib/Dialect/Comb/IR:Dialect",
"@heir//lib/Dialect/LWE/IR:Dialect",
"@heir//lib/Dialect/LWE/Transforms",
"@heir//lib/Dialect/Openfhe/IR:Dialect",
"@heir//lib/Dialect/PolyExt/IR:Dialect",
"@heir//lib/Dialect/Polynomial/IR:Dialect",
"@heir//lib/Dialect/Secret/IR:Dialect",
"@heir//lib/Dialect/Secret/Transforms",
"@heir//lib/Dialect/Secret/Transforms:DistributeGeneric",
"@heir//lib/Dialect/TensorExt/IR:Dialect",
"@heir//lib/Dialect/TfheRust/IR:Dialect",
"@heir//lib/Dialect/TfheRustBool/IR:Dialect",
"@heir//lib/Transforms/ForwardStoreToLoad",
"@heir//lib/Transforms/Secretize",
"@llvm-project//llvm:Support",
"@llvm-project//mlir:AffineDialect",
"@llvm-project//mlir:AffineToStandard",
"@llvm-project//mlir:AffineTransforms",
"@llvm-project//mlir:AllPassesAndDialects",
"@llvm-project//mlir:ArithDialect",
"@llvm-project//mlir:ArithToLLVM",
"@llvm-project//mlir:ArithTransforms",
"@llvm-project//mlir:BufferizationTransforms",
"@llvm-project//mlir:ControlFlowToLLVM",
"@llvm-project//mlir:FuncDialect",
"@llvm-project//mlir:FuncToLLVM",
"@llvm-project//mlir:FuncTransforms",
"@llvm-project//mlir:IndexToLLVM",
"@llvm-project//mlir:LLVMDialect",
"@llvm-project//mlir:LinalgTransforms",
"@llvm-project//mlir:MemRefDialect",
"@llvm-project//mlir:MemRefToLLVM",
"@llvm-project//mlir:MemRefTransforms",
"@llvm-project//mlir:MlirOptLib",
"@llvm-project//mlir:Pass",
"@llvm-project//mlir:ReconcileUnrealizedCasts",
"@llvm-project//mlir:SCFDialect",
"@llvm-project//mlir:SCFToControlFlow",
"@llvm-project//mlir:TensorToLinalg",
"@llvm-project//mlir:TensorTransforms",
"@llvm-project//mlir:TosaDialect",
"@llvm-project//mlir:TosaToArith",
"@llvm-project//mlir:TosaToLinalg",
"@llvm-project//mlir:TosaToTensor",
"@llvm-project//mlir:Transforms",
] + select({
"@heir//:disable_yosys": [],
"//conditions:default": [
"@heir//lib/Transforms/YosysOptimizer",
],
}),
)
# Custom `mlir-translate` replacement that adds our custom translations
cc_binary(
name = "heir-translate",
srcs = ["heir-translate.cpp"],
includes = ["include"],
deps = [
"@heir//lib/Target/Metadata:MetadataEmitter",
"@heir//lib/Target/OpenFhePke:OpenFhePkeEmitter",
"@heir//lib/Target/OpenFhePke:OpenFhePkeHeaderEmitter",
"@heir//lib/Target/TfheRust:TfheRustEmitter",
"@heir//lib/Target/TfheRustBool:TfheRustBoolEmitter",
"@heir//lib/Target/Verilog:VerilogEmitter",
"@llvm-project//mlir:Support",
"@llvm-project//mlir:TranslateLib",
],
)
cc_binary(
name = "heir-lsp",
srcs = ["heir-lsp.cpp"],
includes = ["include"],
deps = [
"@heir//lib/Dialect/BGV/IR:Dialect",
"@heir//lib/Dialect/CGGI/IR:Dialect",
"@heir//lib/Dialect/Comb/IR:Dialect",
"@heir//lib/Dialect/LWE/IR:Dialect",
"@heir//lib/Dialect/Openfhe/IR:Dialect",
"@heir//lib/Dialect/PolyExt/IR:Dialect",
"@heir//lib/Dialect/Polynomial/IR:Dialect",
"@heir//lib/Dialect/Secret/IR:Dialect",
"@heir//lib/Dialect/TfheRust/IR:Dialect",
"@heir//lib/Dialect/TfheRustBool/IR:Dialect",
"@heir//lib/Transforms/Secretize",
"@llvm-project//llvm:Support",
"@llvm-project//mlir:AffineDialect",
"@llvm-project//mlir:AllPassesAndDialects",
"@llvm-project//mlir:ArithDialect",
"@llvm-project//mlir:FuncDialect",
"@llvm-project//mlir:LLVMDialect",
"@llvm-project//mlir:MemRefDialect",
"@llvm-project//mlir:MemRefTransforms",
"@llvm-project//mlir:MlirLspServerLib",
"@llvm-project//mlir:MlirOptLib",
"@llvm-project//mlir:ReconcileUnrealizedCasts",
"@llvm-project//mlir:SCFDialect",
"@llvm-project//mlir:TensorTransforms",
"@llvm-project//mlir:TosaDialect",
],
)