Merge pull request #2929 from cfallin/bb-offsets

Provide BB layout info externally in terms of code offsets.
This commit is contained in:
Chris Fallin
2021-05-24 14:27:53 -07:00
committed by GitHub
10 changed files with 108 additions and 7 deletions

View File

@@ -69,7 +69,7 @@ impl MachBackend for AArch64Backend {
let flags = self.flags();
let vcode = self.compile_vcode(func, flags.clone())?;
let buffer = vcode.emit();
let (buffer, bb_starts, bb_edges) = vcode.emit();
let frame_size = vcode.frame_size();
let stackslot_offsets = vcode.stackslot_offsets().clone();
@@ -87,6 +87,8 @@ impl MachBackend for AArch64Backend {
disasm,
value_labels_ranges: Default::default(),
stackslot_offsets,
bb_starts,
bb_edges,
})
}

View File

@@ -59,7 +59,7 @@ impl MachBackend for Arm32Backend {
) -> CodegenResult<MachCompileResult> {
let flags = self.flags();
let vcode = self.compile_vcode(func, flags.clone())?;
let buffer = vcode.emit();
let (buffer, bb_starts, bb_edges) = vcode.emit();
let frame_size = vcode.frame_size();
let stackslot_offsets = vcode.stackslot_offsets().clone();
@@ -77,6 +77,8 @@ impl MachBackend for Arm32Backend {
disasm,
value_labels_ranges: Default::default(),
stackslot_offsets,
bb_starts,
bb_edges,
})
}

View File

@@ -70,7 +70,7 @@ impl MachBackend for S390xBackend {
) -> CodegenResult<MachCompileResult> {
let flags = self.flags();
let vcode = self.compile_vcode(func, flags.clone())?;
let buffer = vcode.emit();
let (buffer, bb_starts, bb_edges) = vcode.emit();
let frame_size = vcode.frame_size();
let value_labels_ranges = vcode.value_labels_ranges();
let stackslot_offsets = vcode.stackslot_offsets().clone();
@@ -89,6 +89,8 @@ impl MachBackend for S390xBackend {
disasm,
value_labels_ranges,
stackslot_offsets,
bb_starts,
bb_edges,
})
}

View File

@@ -61,7 +61,7 @@ impl MachBackend for X64Backend {
let flags = self.flags();
let vcode = self.compile_vcode(func, flags.clone())?;
let buffer = vcode.emit();
let (buffer, bb_starts, bb_edges) = vcode.emit();
let buffer = buffer.finish();
let frame_size = vcode.frame_size();
let value_labels_ranges = vcode.value_labels_ranges();
@@ -79,6 +79,8 @@ impl MachBackend for X64Backend {
disasm,
value_labels_ranges,
stackslot_offsets,
bb_starts,
bb_edges,
})
}