12.07.2015 Views

Iterated Register Coalescing - School of Computer Science

Iterated Register Coalescing - School of Computer Science

Iterated Register Coalescing - School of Computer Science

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

318 · Lal George and Andrew AppelA.1.3 Others—adjSet: the set <strong>of</strong> interference edges (u, v) in the graph. If (u, v) ∈ adjSet then(v, u) ∈ adjSet. We represent adjSet as a hash table <strong>of</strong> integer pairs.—adjList: adjacency list representation <strong>of</strong> the graph; for each nonprecolored temporaryu, adjList[u] is the set <strong>of</strong> nodes that interfere with u.—degree: an array containing the current degree <strong>of</strong> each node. Precolored nodesare initialized with a degree <strong>of</strong> ∞, or(N + K) whereN is the size <strong>of</strong> the graph.Degree Invariant. For any u ∈ simplifyWorklist ∪ freezeWorklist ∪ spillWorklistit will always be the case thatdegree(u) =|adjList(u) ∩ (precolored ∪ simplifyWorklist∪freezeWorklist ∪ spillWorklist)|—moveList: a mapping from node to the list <strong>of</strong> moves it is associated with.—alias: when a move (u, v) has been coalesced, and v put in coalescedNodes, thenalias(v) =u.—color: the color chosen by the algorithm for a node. For precolored nodes thisis initialized to the given color.simplifyWorklist Invariant.(u ∈ simplifyWorklist) ⇒degree(u)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!