[RFC] TableGen DAGISel Backend Documentation

This is part of the ongoing effort led by Renato and Sean Silva, here: http://llvm.org/docs/TableGen/BackEnds.html

I’ve been working on the DAGISel backend documentation, and I have posted notes here:

This is a rough cut, but we decided it would be best to seek feedback early so that any misunderstandings on my/our part are resolved before I get too far. My notional outline for a final DAGISel section is as follows:

- Start with background section showing how the backend is used in the instruction selection process.

- Introduce the MatcherTable, and show before and after DAGs, to illustrate what it actually does.

- Show how to generate an “unoptimized” matcher table and walkthrough the actions it takes to match/emit.

- Walkthrough the CodeGenDAGPatterns and friends.

- Walkthrough the pattern emitter/matcher table printing stage.

For those without a lot of time on your hands, you may want to CTRL+F for where “seems” and “likely” appear in the text.

Goals at this point are to:

1. Identify errors in understanding.

2. Get final answers to the pieces that are advertised as not well understood in the text.

3. Suggestions on section layout/content/graphics.

4. Identify any missing content.

Feel free to edit the wiki page directly or send e-mail to me or the list.