Add note to documentation about machine node chains.

I've been assuming chain operands were always the first operand,
since the documentation says this. I was confused about why they
were missing after instruction selection. Apparently the convention
changes to using the last operand for MachineSDNodes and I've never
noticed before.

llvm-svn: 216934
This commit is contained in:
Matt Arsenault 2014-09-02 19:18:52 +00:00
parent d1649db2fc
commit 907e64b436
1 changed files with 3 additions and 1 deletions

View File

@ -769,7 +769,9 @@ provide an ordering between nodes that have side effects (such as loads, stores,
calls, returns, etc). All nodes that have side effects should take a token
chain as input and produce a new one as output. By convention, token chain
inputs are always operand #0, and chain results are always the last value
produced by an operation.
produced by an operation. However, after instruction selection, the
machine nodes have their chain after the instruction's operands, and
may be followed by glue nodes.
A SelectionDAG has designated "Entry" and "Root" nodes. The Entry node is
always a marker node with an Opcode of ``ISD::EntryToken``. The Root node is