diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2014-09-02 19:18:52 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2014-09-02 19:18:52 +0000 |
commit | f9139d78f55e37267faa09b8bebf3b648880fd0d (patch) | |
tree | 7011f22a68b7035e52ecf63df2244d7080e81fa0 /docs/CodeGenerator.rst | |
parent | f471c483e66f36b1fec960d4df0e8ba3c28dc9d1 (diff) |
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216934 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/CodeGenerator.rst')
-rw-r--r-- | docs/CodeGenerator.rst | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/docs/CodeGenerator.rst b/docs/CodeGenerator.rst index 5736e4378d7..facedc32a4f 100644 --- a/docs/CodeGenerator.rst +++ b/docs/CodeGenerator.rst @@ -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 |