Use a domtree pre-order instead of a CFG RPO for coalescing.

The stack implementation if the Budimlic dominator forest doesn't work
correctly with a CFG RPO. It needs the domtree pre-order.

Also handle EBB pre-order vs inst-level preorder. Manage the stack
according to EBB dominance. Look for a dominating value by searching the
stack. This is different from the Budimlic algorithm because we're
computing the dominator tree pre-order with EBB granularity only.

Fixes #207.
This commit is contained in:
Jakob Stoklund Olesen
2017-12-13 09:22:44 -06:00
parent 2473661d49
commit d617d5e0f3
2 changed files with 1343 additions and 33 deletions

File diff suppressed because it is too large Load Diff