[LLVMdev] Isel DAG documentation?

David Given dg at cowlark.com
Fri Mar 7 16:28:34 PST 2014


I'm having a great deal of trouble figuring out how to write instruction
patterns which actually match the DAG produced by the compiler. I can't
seem to find any documentation on both what the various nodes represent
or on what the syntax accepted by TableGen is. The backends I have
access to all seem to do this in different (and obscure) ways. And when
things go wrong the compiler seems to dump the DAG tree in a entirely
different syntax to that used by TableGen.

Can anyone point me at any decent resources as to what all this stuff
actually does? And how to figure out what's going wrong when it
inevitably does go wrong?

So far all I've found is include/llvm/Target/TargetSelectionDAG.td,
which at least lists them but doesn't say what they do, and the C++
implementations in SelectionDAGNodes.h, which is entirely undocumented...

-- 
┌─── dg@cowlark.com ───── http://www.cowlark.com ─────
│
│ "You cannot truly appreciate _Atlas Shrugged_ until you have read it
│ in the original Klingon." --- Sea Wasp on r.a.sf.w

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 876 bytes
Desc: OpenPGP digital signature
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140308/1ce78333/attachment.sig>


More information about the llvm-dev mailing list