Support for debug-labels. (#27)
Support for debug-labels. If the client adds labels to vregs across ranges of instructions in the input program, the regalloc will provide metadata in the `Output` that describes the `Allocation`s in which each such vreg is stored for those ranges. This allows the client to emit debug metadata telling a debugger where to find program values at each point in the program.
This commit is contained in:
@@ -336,10 +336,6 @@ pub struct Env<'a, F: Function> {
|
||||
pub liveouts: Vec<IndexSet>,
|
||||
pub blockparam_outs: Vec<BlockparamOut>,
|
||||
pub blockparam_ins: Vec<BlockparamIn>,
|
||||
/// Blockparam allocs: block, idx, vreg, alloc. Info to describe
|
||||
/// blockparam locations at block entry, for metadata purposes
|
||||
/// (e.g. for the checker).
|
||||
pub blockparam_allocs: Vec<(Block, u32, VRegIndex, Allocation)>,
|
||||
|
||||
pub ranges: Vec<LiveRange>,
|
||||
pub bundles: Vec<LiveBundle>,
|
||||
@@ -390,6 +386,7 @@ pub struct Env<'a, F: Function> {
|
||||
pub inst_alloc_offsets: Vec<u32>,
|
||||
pub num_spillslots: u32,
|
||||
pub safepoint_slots: Vec<(ProgPoint, Allocation)>,
|
||||
pub debug_locations: Vec<(u32, ProgPoint, ProgPoint, Allocation)>,
|
||||
|
||||
pub allocated_bundle_count: usize,
|
||||
|
||||
@@ -595,7 +592,6 @@ pub struct Stats {
|
||||
pub spill_bundle_reg_success: usize,
|
||||
pub blockparam_ins_count: usize,
|
||||
pub blockparam_outs_count: usize,
|
||||
pub blockparam_allocs_count: usize,
|
||||
pub halfmoves_count: usize,
|
||||
pub edits_count: usize,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user