pub struct Lowered {
pub func: Func,
pub stack: Stack,
pub fired: Fired,
pub blocks: Vec<Option<Block>>,
}Expand description
A lowered function, and what the frame needs that the machine IR does not hold.
Fields§
§func: FuncThe function, in machine instructions.
stack: StackWhat it wants its stack to look like, which is separate from the function so that the two can be read and written at the same time.
fired: FiredWhich rules of the table lowered it, which is what -Zrule-coverage asks for and what
crate::coverage writes down.
blocks: Vec<Option<Block>>Which machine IR block each IR block became, indexed by the IR block’s own index, and nothing for a block the walk never reached.
Here because it is the only place the correspondence exists. Selection makes one block per
block, in the same order and with the arms in the same order, so anything the IR knows
about a block can be carried down through this and nothing else, and
crate::weights::carry is what does.