aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2009-07-30 08:44:08 +0000
committerEvan Cheng <evan.cheng@apple.com>2009-07-30 08:44:08 +0000
commitfe0bfe4fa43b9a032cc54737ab56b979006b1b26 (patch)
tree04f1d575fb83bc498051f29998cdc8cdfb73c25f
parent37b7387da90ffd42d28ad0f08fca00b684294b2c (diff)
downloadexternal_llvm-fe0bfe4fa43b9a032cc54737ab56b979006b1b26.zip
external_llvm-fe0bfe4fa43b9a032cc54737ab56b979006b1b26.tar.gz
external_llvm-fe0bfe4fa43b9a032cc54737ab56b979006b1b26.tar.bz2
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77583 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/CodeGen/SelectionDAGNodes.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h
index 62c3769..6dc55ff 100644
--- a/include/llvm/CodeGen/SelectionDAGNodes.h
+++ b/include/llvm/CodeGen/SelectionDAGNodes.h
@@ -225,9 +225,9 @@ namespace ISD {
// 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.