Move EntityList and SparseMap into the entity module.

These data structures are dependent on EntityRef and EntityMap, so it
makes sense to keep them in the same module.
This commit is contained in:
Jakob Stoklund Olesen
2017-08-18 16:09:13 -07:00
parent 7e08b14cf6
commit 9cb0529be4
14 changed files with 17 additions and 15 deletions

View File

@@ -5,7 +5,7 @@
//! instruction, starting at the EBB header.
use dominator_tree::DominatorTree;
use entity_list::{EntityList, ListPool};
use entity::{EntityList, ListPool};
use ir::instructions::BranchInfo;
use ir::{Inst, Ebb, Value, DataFlowGraph, Layout, ExpandedProgramPoint};
use partition_slice::partition_slice;

View File

@@ -175,13 +175,13 @@
//!
//! There is some room for improvement.
use entity::SparseMap;
use flowgraph::ControlFlowGraph;
use ir::dfg::ValueDef;
use ir::{Function, Value, Inst, Ebb, Layout, ProgramPoint};
use isa::{TargetIsa, EncInfo};
use regalloc::affinity::Affinity;
use regalloc::liverange::LiveRange;
use sparse_map::SparseMap;
use std::mem;
use std::ops::Index;

View File

@@ -107,10 +107,10 @@
//! of coalescing, so we would need to roll our own.
//!
use std::cmp::Ordering;
use entity::SparseMapValue;
use ir::{Inst, Ebb, Value, ProgramPoint, ExpandedProgramPoint, ProgramOrder};
use regalloc::affinity::Affinity;
use sparse_map::SparseMapValue;
use std::cmp::Ordering;
/// Global live range of a single SSA value.
///

View File

@@ -11,6 +11,7 @@
use cursor::{Cursor, EncCursor};
use dominator_tree::DominatorTree;
use entity::{SparseMap, SparseMapValue};
use ir::{Ebb, Inst, Value, Function};
use ir::{InstBuilder, ArgumentType, ArgumentLoc};
use isa::RegClass;
@@ -18,7 +19,6 @@ use isa::{TargetIsa, Encoding, EncInfo, RecipeConstraints, ConstraintKind};
use regalloc::affinity::Affinity;
use regalloc::live_value_tracker::{LiveValue, LiveValueTracker};
use regalloc::liveness::Liveness;
use sparse_map::{SparseMap, SparseMapValue};
use topo_order::TopoOrder;
/// Reusable data structures for the reload pass.

View File

@@ -105,10 +105,10 @@
//! appropriate candidate among the set of live register values, add it as a variable and start
//! over.
use entity::{SparseMap, SparseMapValue};
use ir::Value;
use isa::{RegInfo, RegClass, RegUnit};
use regalloc::allocatable_set::RegSetIter;
use sparse_map::{SparseMap, SparseMapValue};
use std::fmt;
use super::AllocatableSet;

View File

@@ -11,7 +11,7 @@
//! If any values in a virtual register are spilled, they will use the same stack slot. This avoids
//! memory-to-memory copies when a spilled value is passed as an EBB argument.
use entity_list::{EntityList, ListPool};
use entity::{EntityList, ListPool};
use entity::{PrimaryMap, EntityMap, Keys};
use ir::Value;
use packed_option::PackedOption;