diff options
author | Evan Cheng <evan.cheng@apple.com> | 2009-07-30 08:44:08 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2009-07-30 08:44:08 +0000 |
commit | 10c97d819efe478e439d1b8829fc8c04a01d71cf (patch) | |
tree | 04f1d575fb83bc498051f29998cdc8cdfb73c25f | |
parent | b723fb501aee51fa80022635611a9d38b1e044df (diff) | |
download | external_llvm-10c97d819efe478e439d1b8829fc8c04a01d71cf.zip external_llvm-10c97d819efe478e439d1b8829fc8c04a01d71cf.tar.gz external_llvm-10c97d819efe478e439d1b8829fc8c04a01d71cf.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.h | 6 |
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. |