[TableGen] Generate formatted DAGISelEmitter without relying on formatted_raw_ostream.
authorCraig Topper <craig.topper@intel.com>
Tue, 19 Sep 2017 21:03:57 +0000 (21:03 +0000)
committerCraig Topper <craig.topper@intel.com>
Tue, 19 Sep 2017 21:03:57 +0000 (21:03 +0000)
commit7c1ef6cbdcf0f489adf66fd16d06367482d17c64
tree3547a99408fbd392f1f6a1636624f730a05964d6
parentccc21c459b0ee0758c5ea12b386e2ade114f0031
[TableGen] Generate formatted DAGISelEmitter without relying on formatted_raw_ostream.

The generated DAG isel file currently makes use of formatted_raw_ostream primarily for generating a hierarchical representation while also skipping over the initial comment that contains the current index.

It was reported in D37957 that this formatting might be slow due to the need to keep track of column numbers by monitoring all the written data for new lines.

This patch attempts to rewrite the emitter to make use of simpler formatting mechanisms to generate a fairly similar output. The main difference is that the number in the index comment is now right justified and padded with spaces inside the comment. Previously we appended the spaces after the comment.

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

llvm-svn: 313674
llvm/utils/TableGen/DAGISelMatcherEmitter.cpp