summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2008-04-14 18:43:25 +0000
committerDan Gohman <gohman@apple.com>2008-04-14 18:43:25 +0000
commit5b61a288a76b29ff9ac6899c3cab589fb0ba04a5 (patch)
tree5e16673602f8df10a8ea793dc4d74eabe8f3e238 /llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
parent751d4d2d60596555c1ce7cd9e613a711bf9f5081 (diff)
downloadbcm5719-llvm-5b61a288a76b29ff9ac6899c3cab589fb0ba04a5.tar.gz
bcm5719-llvm-5b61a288a76b29ff9ac6899c3cab589fb0ba04a5.zip
Avoid creating MERGE_VALUES nodes for single values.
llvm-svn: 49676
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index a0f86976809..1e626677f02 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -1848,7 +1848,8 @@ SDOperand SelectionDAG::getNode(unsigned Opcode, MVT::ValueType VT,
unsigned OpOpcode = Operand.Val->getOpcode();
switch (Opcode) {
case ISD::TokenFactor:
- return Operand; // Factor of one node? No factor.
+ case ISD::MERGE_VALUES:
+ return Operand; // Factor or merge of one node? No need.
case ISD::FP_ROUND: assert(0 && "Invalid method to make FP_ROUND node");
case ISD::FP_EXTEND:
assert(MVT::isFloatingPoint(VT) &&
OpenPOWER on IntegriCloud