Change the PBQP graph adjacency list structure from std::set to std::vector.
authorLang Hames <lhames@gmail.com>
Wed, 26 Mar 2014 18:58:00 +0000 (18:58 +0000)
committerLang Hames <lhames@gmail.com>
Wed, 26 Mar 2014 18:58:00 +0000 (18:58 +0000)
commitec97f954429462c0f20cc3b590cd9028bbc8ca66
tree56021fdefa20987ec4da8740771615f15c7bf812
parente0e503801fc679f588259da160daad41cc0ccba9
Change the PBQP graph adjacency list structure from std::set to std::vector.

The edge data structure (EdgeEntry) now holds the indices of its entries in the
adjacency lists of the nodes it connects. This trades a little ugliness for
faster insertion/removal, which is now O(1) with a cheap constant factor. All
of this is implementation detail within the PBQP graph, the external API remains
unchanged.

Individual register allocations are likely to change, since the adjacency lists
will now be ordered differently (or rather, will now be unordered). This
shouldn't affect the average quality of allocations however.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204841 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/PBQP/Graph.h