[globalisel][tablegen] Finish fixing compile-time regressions by merging the matcher...
authorDaniel Sanders <daniel_l_sanders@apple.com>
Wed, 5 Jul 2017 14:50:18 +0000 (14:50 +0000)
committerDaniel Sanders <daniel_l_sanders@apple.com>
Wed, 5 Jul 2017 14:50:18 +0000 (14:50 +0000)
commita6cfce6863a5a3f89e6674db7d58b9eb75b90a58
treeb04dcf4c087ad88dd0d0343dda671cf2b17e2807
parentb78adec6386d4e375177cb1ae100b8d439290cae
[globalisel][tablegen] Finish fixing compile-time regressions by merging the matcher and emitter state machines.

Summary:
Also, made a few minor tweaks to shave off a little more cumulative memory consumption:
* All rules share a single NewMIs instead of constructing their own. Only one
  will end up using it.
* Use MIs.resize(1) instead of MIs.clear();MIs.push_back(I) and prevent
  GIM_RecordInsn from changing MIs[0].

Depends on D33764

Reviewers: rovka, vitalybuka, ab, t.p.northover, qcolombet, aditya_nandakumar

Reviewed By: ab

Subscribers: kristof.beyls, igorb, llvm-commits

Differential Revision: https://reviews.llvm.org/D33766

llvm-svn: 307159
llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
llvm/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h
llvm/lib/CodeGen/GlobalISel/InstructionSelector.cpp
llvm/test/TableGen/GlobalISelEmitter.td
llvm/utils/TableGen/GlobalISelEmitter.cpp