pub fn lower_instruction(
ast: &PcodeAst,
context: &impl PcodeLoweringContext,
) -> Result<InstructionPcode, PcodeLowerError>Expand description
Lowers a fully expanded source-shaped AST to Ghidra-style instruction p-code.
The AST must be in consumer form: build, export, delay-slot, macro,
deferred-name, field, and table nodes are rejected. The lowerer allocates
deterministic temporaries in PcodeLoweringContext::unique_space.
Bit ranges are expanded into shifts, masks, and SUBPIECE rather than
Ghidra’s analysis-only INSERT and EXTRACT pseudo-operations. Range
writes whose parent storage exceeds 64 bits are rejected because this
source AST’s literals cannot represent their full clear mask.