mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-26 07:34:06 +00:00
Add ops() method to SDNode that returns an ArrayRef<SDUse>. Use it to simplify some code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211993 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
37f687015d
commit
521a69f182
@ -593,6 +593,7 @@ public:
|
||||
typedef SDUse* op_iterator;
|
||||
op_iterator op_begin() const { return OperandList; }
|
||||
op_iterator op_end() const { return OperandList+NumOperands; }
|
||||
ArrayRef<SDUse> ops() const { return makeArrayRef(op_begin(), op_end()); }
|
||||
|
||||
SDVTList getVTList() const {
|
||||
SDVTList X = { ValueList, NumValues };
|
||||
|
@ -557,7 +557,7 @@ static void AddNodeIDNode(FoldingSetNodeID &ID, const SDNode *N) {
|
||||
// Add the return value info.
|
||||
AddNodeIDValueTypes(ID, N->getVTList());
|
||||
// Add the operand info.
|
||||
AddNodeIDOperands(ID, makeArrayRef(N->op_begin(), N->op_end()));
|
||||
AddNodeIDOperands(ID, N->ops());
|
||||
|
||||
// Handle SDNode leafs with special info.
|
||||
AddNodeIDCustom(ID, N);
|
||||
|
@ -7337,10 +7337,9 @@ static bool findConsecutiveLoad(LoadSDNode *LD, SelectionDAG &DAG) {
|
||||
if (!Visited.count(ChainLD->getChain().getNode()))
|
||||
Queue.push_back(ChainLD->getChain().getNode());
|
||||
} else if (ChainNext->getOpcode() == ISD::TokenFactor) {
|
||||
for (SDNode::op_iterator O = ChainNext->op_begin(),
|
||||
OE = ChainNext->op_end(); O != OE; ++O)
|
||||
if (!Visited.count(O->getNode()))
|
||||
Queue.push_back(O->getNode());
|
||||
for (const SDUse &O : ChainNext->ops())
|
||||
if (!Visited.count(O.getNode()))
|
||||
Queue.push_back(O.getNode());
|
||||
} else
|
||||
LoadRoots.insert(ChainNext);
|
||||
}
|
||||
@ -8236,12 +8235,11 @@ SDValue PPCTargetLowering::PerformDAGCombine(SDNode *N,
|
||||
++UI;
|
||||
|
||||
SmallVector<SDValue, 8> Ops;
|
||||
for (SDNode::op_iterator O = User->op_begin(),
|
||||
OE = User->op_end(); O != OE; ++O) {
|
||||
if (*O == Use)
|
||||
for (const SDUse &O : User->ops()) {
|
||||
if (O == Use)
|
||||
Ops.push_back(To);
|
||||
else
|
||||
Ops.push_back(*O);
|
||||
Ops.push_back(O);
|
||||
}
|
||||
|
||||
DAG.UpdateNodeOperands(User, Ops);
|
||||
|
@ -2178,9 +2178,8 @@ SDNode *R600TargetLowering::PostISelFolding(MachineSDNode *Node,
|
||||
SDValue FakeOp;
|
||||
|
||||
std::vector<SDValue> Ops;
|
||||
for(SDNode::op_iterator I = Node->op_begin(), E = Node->op_end();
|
||||
I != E; ++I)
|
||||
Ops.push_back(*I);
|
||||
for (const SDUse &I : Node->ops())
|
||||
Ops.push_back(I);
|
||||
|
||||
if (Opcode == AMDGPU::DOT_4) {
|
||||
int OperandIdx[] = {
|
||||
|
Loading…
x
Reference in New Issue
Block a user