SelectionDAGISel.cpp (252720) | SelectionDAGISel.cpp (255804) |
---|---|
1//===-- SelectionDAGISel.cpp - Implement the SelectionDAGISel class -------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// --- 1722 unchanged lines hidden (view full) --- 1731 1732 for (SDNode::use_iterator UI = ChainedNode->use_begin(), 1733 E = ChainedNode->use_end(); UI != E; ++UI) { 1734 // Make sure the use is of the chain, not some other value we produce. 1735 if (UI.getUse().getValueType() != MVT::Other) continue; 1736 1737 SDNode *User = *UI; 1738 | 1//===-- SelectionDAGISel.cpp - Implement the SelectionDAGISel class -------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// --- 1722 unchanged lines hidden (view full) --- 1731 1732 for (SDNode::use_iterator UI = ChainedNode->use_begin(), 1733 E = ChainedNode->use_end(); UI != E; ++UI) { 1734 // Make sure the use is of the chain, not some other value we produce. 1735 if (UI.getUse().getValueType() != MVT::Other) continue; 1736 1737 SDNode *User = *UI; 1738 |
1739 if (User->getOpcode() == ISD::HANDLENODE) // Root of the graph. 1740 continue; 1741 |
|
1739 // If we see an already-selected machine node, then we've gone beyond the 1740 // pattern that we're selecting down into the already selected chunk of the 1741 // DAG. | 1742 // If we see an already-selected machine node, then we've gone beyond the 1743 // pattern that we're selecting down into the already selected chunk of the 1744 // DAG. |
1742 if (User->isMachineOpcode() || 1743 User->getOpcode() == ISD::HANDLENODE) // Root of the graph. 1744 continue; 1745 | |
1746 unsigned UserOpcode = User->getOpcode(); | 1745 unsigned UserOpcode = User->getOpcode(); |
1747 if (UserOpcode == ISD::CopyToReg || | 1746 if (User->isMachineOpcode() || 1747 UserOpcode == ISD::CopyToReg || |
1748 UserOpcode == ISD::CopyFromReg || 1749 UserOpcode == ISD::INLINEASM || 1750 UserOpcode == ISD::EH_LABEL || 1751 UserOpcode == ISD::LIFETIME_START || 1752 UserOpcode == ISD::LIFETIME_END) { 1753 // If their node ID got reset to -1 then they've already been selected. 1754 // Treat them like a MachineOpcode. 1755 if (User->getNodeId() == -1) --- 1198 unchanged lines hidden --- | 1748 UserOpcode == ISD::CopyFromReg || 1749 UserOpcode == ISD::INLINEASM || 1750 UserOpcode == ISD::EH_LABEL || 1751 UserOpcode == ISD::LIFETIME_START || 1752 UserOpcode == ISD::LIFETIME_END) { 1753 // If their node ID got reset to -1 then they've already been selected. 1754 // Treat them like a MachineOpcode. 1755 if (User->getNodeId() == -1) --- 1198 unchanged lines hidden --- |