Improve dominator tree building & walking (dotnet/coreclr#27282)
authormikedn <onemihaid@hotmail.com>
Wed, 13 Nov 2019 23:50:08 +0000 (01:50 +0200)
committerBruce Forstall <brucefo@microsoft.com>
Wed, 13 Nov 2019 23:50:08 +0000 (15:50 -0800)
commitd24ad7de843c205149ba3343d2ffa018c5218a5e
tree19cf8f7b242d2962418654f15396a24fccb28026
parentca8841df6900af5c2a45802deda44f07aca1011a
Improve dominator tree building & walking (dotnet/coreclr#27282)

* Delete unused SsaBuilder code

* Delete BasicBlock::bbDfsNum

bbPostOrderNum serves the same purpose

* Improve dominator tree building & walking
- Change the dominator tree data structure to a simple array of nodes
- Adapt fgBuildDomTree so it can be used by SsaBuilder
- Add a dominator tree visitor class
- Reuse the dominator tree built by SsaBuilder for copy propagation

* Move bbNatLoopNum to fill a padding hole

Commit migrated from https://github.com/dotnet/coreclr/commit/9251ceff0395f989253b7874862feb396b7bddd3
src/coreclr/src/jit/block.h
src/coreclr/src/jit/compiler.h
src/coreclr/src/jit/copyprop.cpp
src/coreclr/src/jit/flowgraph.cpp
src/coreclr/src/jit/ssabuilder.cpp
src/coreclr/src/jit/ssabuilder.h