No, dammit, for register allocation I need to walk the blocks in *dominance*
authorDavid Given <dg@cowlark.com>
Wed, 5 Oct 2016 21:52:54 +0000 (23:52 +0200)
committerDavid Given <dg@cowlark.com>
Wed, 5 Oct 2016 21:52:54 +0000 (23:52 +0200)
commit21034c0d65fa00bcd0eba94c416408f5f461a07b
tree8047dd1bfffb910690abe94cbaab4a1f79bf8974
parentd95c75dfd7635c3d85855e10ced212a3dc9299ff
No, dammit, for register allocation I need to walk the blocks in *dominance*
order. Since the dominance tree has changed when I fiddled with the graph, I
need to recompute it, so factor it out of the SSA pass. Code is uglier than I'd
like but at least the RET statement goes last in the generated code now.
mach/proto/mcg/basicblock.h
mach/proto/mcg/dominance.c [new file with mode: 0644]
mach/proto/mcg/dominance.h [new file with mode: 0644]
mach/proto/mcg/mcg.h
mach/proto/mcg/pass_ssa.c
mach/proto/mcg/registerallocator.c