Add a couple of passes to collapse and prune moves together, which keeps the
authorDavid Given <dg@cowlark.com>
Thu, 2 Feb 2017 22:18:00 +0000 (23:18 +0100)
committerDavid Given <dg@cowlark.com>
Thu, 2 Feb 2017 22:18:00 +0000 (23:18 +0100)
commitba502fe970f2d3dcf2e22ad910d5340abdbef808
tree4d91361757e0aef0ca9bf7876fa8a90fdef5eab8
parent708662baf7d4a65c79fbc5785f67441c6ea59ce3
Add a couple of passes to collapse and prune moves together, which keeps the
number of vregs under vastly better control; also remember that you can't
coalesce vregs connected with an interference edge (because they have to be
different). The generated register assignments now look sort of correct.
mach/proto/mcg/mcg.h
mach/proto/mcg/pass_collapsemoves.c [new file with mode: 0644]
mach/proto/mcg/pass_prunestraymoves.c [new file with mode: 0644]
mach/proto/mcg/pass_registerallocator.c
mach/proto/mcg/procedure.c