[llvm-commits] [llvm] r77583 - /llvm/trunk/include/llvm/CodeGen/SelectionDAGNodes.h

Evan Cheng evan.cheng at apple.com
Thu Jul 30 01:44:23 PDT 2009


Author: evancheng
Date: Thu Jul 30 03:44:08 2009
New Revision: 77583

URL: http://llvm.org/viewvc/llvm-project?rev=77583&view=rev
Log:
I've changed the semantics of MERGE_VALUES a bit. It's now allowed to live until scheduling. It's deleted when the scheduler translate DAG nodes to machine instructions.

This is currently used by X86 to handle atomic_load_add when the output of the node is not used. I believe there is a better solution. But I find MERGE_VALUES useful for selecting multi-output node when the dead output can be selected as a IMPLICIT_DEF.

Modified:
    llvm/trunk/include/llvm/CodeGen/SelectionDAGNodes.h

Modified: llvm/trunk/include/llvm/CodeGen/SelectionDAGNodes.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/SelectionDAGNodes.h?rev=77583&r1=77582&r2=77583&view=diff

==============================================================================
--- llvm/trunk/include/llvm/CodeGen/SelectionDAGNodes.h (original)
+++ llvm/trunk/include/llvm/CodeGen/SelectionDAGNodes.h Thu Jul 30 03:44:08 2009
@@ -225,9 +225,9 @@
 
     // MERGE_VALUES - This node takes multiple discrete operands and returns
     // them all as its individual results.  This nodes has exactly the same
-    // number of inputs and outputs, and is only valid before legalization.
-    // This node is useful for some pieces of the code generator that want to
-    // think about a single node with multiple results, not multiple nodes.
+    // number of inputs and outputs. This node is useful for some pieces of the
+    // code generator that want to think about a single node with multiple
+    // results, not multiple nodes.
     MERGE_VALUES,
 
     // Simple integer binary arithmetic operators.





More information about the llvm-commits mailing list