@@ -131,10 +131,57 @@ gentbl_cc_library(
131131 deps = [":BlasDerivativesTdFiles" ],
132132)
133133
134+ cc_library (
135+ name = "EnzymeCacheUtility" ,
136+ srcs = [
137+ "Enzyme/CacheUtility.cpp" ,
138+ "Enzyme/MustExitScalarEvolution.cpp"
139+ ],
140+ hdrs = glob ([
141+ "Enzyme/*.h" ,
142+ "Enzyme/TypeAnalysis/*.h" ,
143+ ]),
144+ copts = [
145+ "-Wno-unused-variable" ,
146+ "-Wno-return-type" ,
147+ ],
148+ visibility = ["//visibility:public" ],
149+ deps = [
150+ "@llvm-project//llvm:Passes" ,
151+ "@llvm-project//llvm:Analysis" ,
152+ "@llvm-project//llvm:CodeGen" ,
153+ "@llvm-project//llvm:Core"
154+ ],
155+ )
156+
157+ cc_library (
158+ name = "EnzymeTypeAnalysis" ,
159+ srcs = [
160+ "Enzyme/TypeAnalysis/TypeAnalysis.cpp" ,
161+ "Enzyme/TypeAnalysis/TypeTree.cpp" ,
162+ "Enzyme/TypeAnalysis/RustDebugInfo.cpp"
163+ ],
164+ hdrs = glob ([
165+ "Enzyme/*.h" ,
166+ "Enzyme/TypeAnalysis/*.h" ,
167+ ]),
168+ copts = [
169+ "-Wno-unused-variable" ,
170+ "-Wno-return-type" ,
171+ ],
172+ visibility = ["//visibility:public" ],
173+ deps = [
174+ ":blas-typeanalysis" ,
175+ "@llvm-project//llvm:Passes" ,
176+ "@llvm-project//llvm:Analysis" ,
177+ "@llvm-project//llvm:CodeGen" ,
178+ "@llvm-project//llvm:Core"
179+ ],
180+ )
181+
134182cc_library (
135183 name = "EnzymePreserveNVVM" ,
136184 srcs = [
137- "Enzyme/Utils.cpp" ,
138185 "Enzyme/PreserveNVVM.cpp"
139186 ],
140187 hdrs = glob ([
@@ -147,7 +194,47 @@ cc_library(
147194 ],
148195 visibility = ["//visibility:public" ],
149196 deps = [
197+ "@llvm-project//llvm:Passes" ,
198+ "@llvm-project//llvm:Analysis" ,
199+ "@llvm-project//llvm:CodeGen" ,
200+ "@llvm-project//llvm:Core"
201+ ],
202+ )
203+
204+ cc_library (
205+ name = "EnzymeDiffCore" ,
206+ srcs = [
207+ "Enzyme/ActivityAnalysis.cpp" ,
208+ "Enzyme/EnzymeLogic.cpp" ,
209+ "Enzyme/Utils.cpp" ,
210+ "Enzyme/FunctionUtils.cpp" ,
211+ "Enzyme/GradientUtils.cpp" ,
212+ "Enzyme/DiffeGradientUtils.cpp" ,
213+ "Enzyme/DifferentialUseAnalysis.cpp" ,
214+ "Enzyme/InstructionBatcher.cpp" ,
215+ "Enzyme/TraceGenerator.cpp" ,
216+ "Enzyme/TraceUtils.cpp" ,
217+ "Enzyme/TraceInterface.cpp" ,
218+ "Enzyme/CallDerivatives.cpp" ,
219+ ],
220+ hdrs = glob ([
221+ "Enzyme/*.h" ,
222+ "Enzyme/TypeAnalysis/*.h" ,
223+ ]),
224+ copts = [
225+ "-Wno-unused-variable" ,
226+ "-Wno-return-type" ,
227+ ],
228+ visibility = ["//visibility:public" ],
229+ deps = [
230+ ":inst-derivatives" ,
231+ ":binop-derivatives" ,
232+ ":intr-derivatives" ,
150233 ":blas-attributor" ,
234+ ":blas-diffuseanalysis" ,
235+ ":blas-derivatives" ,
236+ ":call-derivatives" ,
237+ "@llvm-project//llvm:Passes" ,
151238 "@llvm-project//llvm:Analysis" ,
152239 "@llvm-project//llvm:CodeGen" ,
153240 "@llvm-project//llvm:Core"
@@ -164,8 +251,24 @@ cc_library(
164251 ],
165252 exclude = [
166253 "Enzyme/eopt.cpp" ,
254+ "Enzyme/PreserveNVVM.cpp" ,
255+ "Enzyme/TypeAnalysis/TypeAnalysis.cpp" ,
256+ "Enzyme/TypeAnalysis/TypeTree.cpp" ,
257+ "Enzyme/TypeAnalysis/RustDebugInfo.cpp" ,
258+ "Enzyme/CacheUtility.cpp" ,
259+ "Enzyme/MustExitScalarEvolution.cpp" ,
260+ "Enzyme/ActivityAnalysis.cpp" ,
261+ "Enzyme/EnzymeLogic.cpp" ,
167262 "Enzyme/Utils.cpp" ,
168- "Enzyme/PreserveNVVM.cpp"
263+ "Enzyme/FunctionUtils.cpp" ,
264+ "Enzyme/GradientUtils.cpp" ,
265+ "Enzyme/DiffeGradientUtils.cpp" ,
266+ "Enzyme/DifferentialUseAnalysis.cpp" ,
267+ "Enzyme/InstructionBatcher.cpp" ,
268+ "Enzyme/TraceGenerator.cpp" ,
269+ "Enzyme/TraceUtils.cpp" ,
270+ "Enzyme/TraceInterface.cpp" ,
271+ "Enzyme/CallDerivatives.cpp" ,
169272 ],
170273 ),
171274 hdrs = glob ([
@@ -187,15 +290,10 @@ cc_library(
187290 visibility = ["//visibility:public" ],
188291 deps = [
189292 ":EnzymePreserveNVVM" ,
190- ":binop-derivatives" ,
191- ":blas-attributor" ,
192- ":blas-derivatives" ,
193- ":blas-diffuseanalysis" ,
194- ":blas-typeanalysis" ,
293+ ":EnzymeTypeAnalysis" ,
294+ ":EnzymeCacheUtility" ,
295+ ":EnzymeDiffCore" ,
195296 ":bundled-includes" ,
196- ":call-derivatives" ,
197- ":inst-derivatives" ,
198- ":intr-derivatives" ,
199297 "@llvm-project//clang:ast" ,
200298 "@llvm-project//clang:basic" ,
201299 "@llvm-project//clang:driver" ,
0 commit comments