This patch reworks DAGISelMatcherEmitter.cpp in order to speed it up. It now makes two passes over the matcher tree: one to size the matchers and one to emit them. This eliminates the relaxation method that was used to size the matchers previously. The emitter produces exactly the same output as before.
For the AMDGPU target, the emitting phase took 88.5% of the TableGen run; now it takes 3.5% of the time. On my machine the run went from 751 seconds to 89 seconds.
clang-tidy: warning: invalid case style for function 'EmitMatcherTable' [readability-identifier-naming]
not useful