|
1 | 1 | module Diffractor
|
2 | 2 |
|
3 | 3 | using StructArrays
|
| 4 | +using PrecompileTools |
4 | 5 |
|
5 | 6 | export ∂⃖, gradient
|
6 | 7 |
|
7 | 8 | const CC = Core.Compiler
|
8 | 9 |
|
9 | 10 | const GENERATORS = Expr[]
|
10 | 11 |
|
11 |
| -include("runtime.jl") |
12 |
| -include("interface.jl") |
13 |
| -include("utils.jl") |
14 |
| -include("tangent.jl") |
15 |
| -include("jet.jl") |
| 12 | +@recompile_invalidations begin |
| 13 | + include("runtime.jl") |
| 14 | + include("interface.jl") |
| 15 | + include("utils.jl") |
| 16 | + include("tangent.jl") |
| 17 | + include("jet.jl") |
16 | 18 |
|
17 |
| -include("stage1/generated.jl") |
18 |
| -include("stage1/forward.jl") |
19 |
| -include("stage1/recurse_fwd.jl") |
20 |
| -include("stage1/mixed.jl") |
21 |
| -include("stage1/broadcast.jl") |
| 19 | + include("stage1/generated.jl") |
| 20 | + include("stage1/forward.jl") |
| 21 | + include("stage1/recurse_fwd.jl") |
| 22 | + include("stage1/mixed.jl") |
| 23 | + include("stage1/broadcast.jl") |
22 | 24 |
|
23 |
| -include("stage2/interpreter.jl") |
24 |
| -include("stage2/lattice.jl") |
25 |
| -include("stage2/abstractinterpret.jl") |
26 |
| -include("stage2/tfuncs.jl") |
27 |
| -include("stage2/forward.jl") |
| 25 | + include("stage2/interpreter.jl") |
| 26 | + include("stage2/lattice.jl") |
| 27 | + include("stage2/abstractinterpret.jl") |
| 28 | + include("stage2/tfuncs.jl") |
| 29 | + include("stage2/forward.jl") |
28 | 30 |
|
29 |
| -include("codegen/forward.jl") |
30 |
| -include("analysis/forward.jl") |
31 |
| -include("codegen/forward_demand.jl") |
32 |
| -include("codegen/reverse.jl") |
| 31 | + include("codegen/forward.jl") |
| 32 | + include("analysis/forward.jl") |
| 33 | + include("codegen/forward_demand.jl") |
| 34 | + include("codegen/reverse.jl") |
33 | 35 |
|
34 |
| -include("extra_rules.jl") |
| 36 | + include("extra_rules.jl") |
35 | 37 |
|
36 |
| -include("higher_fwd_rules.jl") |
| 38 | + include("higher_fwd_rules.jl") |
37 | 39 |
|
38 |
| -include("debugutils.jl") |
| 40 | + include("debugutils.jl") |
39 | 41 |
|
40 |
| -include("stage1/termination.jl") |
| 42 | + include("stage1/termination.jl") |
| 43 | +end |
41 | 44 |
|
42 | 45 | end
|
0 commit comments