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
[]
= "rucc-codegen"
= "Instruction selection, scheduling, block layout, frames and prologue emission."
= true
= true
= true
= true
= true
= true
= true
= true
= true
= true
[]
= true
# Nothing yet. The crates this one is expected to reach for once M3 lands are
# `rucc-base`, `rucc-diag`, `rucc-target`, `rucc-ir`, `rucc-mir`, `rucc-regalloc`, `rucc-asm`, all of lower rank than 11. Dependencies are added when they
# are used, not in advance, so that the graph `cargo xtask layers` reads is the real one.
[]
= true
# What the level asked for, as the two-valued thing a pass below selection can act on rather than as
# the level itself, which lives above this crate. tamnd/rucc#741 is the issue about the back end
# never learning it. Rank 3 against this crate's 12, per `xtask/layers.toml`.
= true
= true
= true
= true
# The block frequencies, which are worked out over the IR and carried down onto the machine
# blocks by `crate::weights` so that the layout has something to lay a trace along. Rank 10
# against this crate's 12, per `xtask/layers.toml`.
= true
= true
= true
= true
# The rule DSL compiler, which turns `rules/*.rules` into the tables the selector matches with.
# It runs during the build and nothing it defines is linked into the compiler, which is the one
# way a crate outside the layer stack may be reached for at all.
[]
= true