Add a LiveRange data structure.

We will track live ranges separately for each SSA value, rather than per
virtual register like LLVM does.

This is the basis for a register allocator, so place it in a new
regalloc module.
This commit is contained in:
Jakob Stoklund Olesen
2017-01-05 10:34:19 -08:00
parent ae28ef90ef
commit b6c2d4588f
5 changed files with 519 additions and 3 deletions

View File

@@ -36,9 +36,9 @@ impl From<Ebb> for ProgramPoint {
/// represent.
#[derive(PartialEq, Eq, Clone, Copy)]
pub enum ExpandedProgramPoint {
// An instruction in the function.
/// An instruction in the function.
Inst(Inst),
// An EBB header.
/// An EBB header.
Ebb(Ebb),
}