[LLVMdev] [RFC] TableGen DAGISel Backend Documentation

Carback, Richard T., III rcarback at draper.com
Tue Apr 15 12:16:49 PDT 2014


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:

https://github.com/draperlaboratory/fracture/wiki/How-TableGen%27s-DAGISel-Backend-Works

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.

Thanks,

-R


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140415/42cbede3/attachment.html>


More information about the llvm-dev mailing list