diff options
Diffstat (limited to 'contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp')
| -rw-r--r-- | contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp | 20 | 
1 files changed, 5 insertions, 15 deletions
diff --git a/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp b/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp index f2b18fc84bf5..3853ada5fb0b 100644 --- a/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp +++ b/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp @@ -137,13 +137,9 @@ static void CheckForPhysRegDependency(SDNode *Def, SDNode *User, unsigned Op,  }  // Helper for AddGlue to clone node operands. -static void CloneNodeWithValues(SDNode *N, SelectionDAG *DAG, -                                SmallVectorImpl<EVT> &VTs, +static void CloneNodeWithValues(SDNode *N, SelectionDAG *DAG, ArrayRef<EVT> VTs,                                  SDValue ExtraOper = SDValue()) { -  SmallVector<SDValue, 8> Ops; -  for (unsigned I = 0, E = N->getNumOperands(); I != E; ++I) -    Ops.push_back(N->getOperand(I)); - +  SmallVector<SDValue, 8> Ops(N->op_begin(), N->op_end());    if (ExtraOper.getNode())      Ops.push_back(ExtraOper); @@ -165,7 +161,6 @@ static void CloneNodeWithValues(SDNode *N, SelectionDAG *DAG,  }  static bool AddGlue(SDNode *N, SDValue Glue, bool AddGlue, SelectionDAG *DAG) { -  SmallVector<EVT, 4> VTs;    SDNode *GlueDestNode = Glue.getNode();    // Don't add glue from a node to itself. @@ -179,9 +174,7 @@ static bool AddGlue(SDNode *N, SDValue Glue, bool AddGlue, SelectionDAG *DAG) {    // Don't add glue to something that already has a glue value.    if (N->getValueType(N->getNumValues() - 1) == MVT::Glue) return false; -  for (unsigned I = 0, E = N->getNumValues(); I != E; ++I) -    VTs.push_back(N->getValueType(I)); - +  SmallVector<EVT, 4> VTs(N->value_begin(), N->value_end());    if (AddGlue)      VTs.push_back(MVT::Glue); @@ -197,11 +190,8 @@ static void RemoveUnusedGlue(SDNode *N, SelectionDAG *DAG) {            !N->hasAnyUseOfValue(N->getNumValues() - 1)) &&           "expected an unused glue value"); -  SmallVector<EVT, 4> VTs; -  for (unsigned I = 0, E = N->getNumValues()-1; I != E; ++I) -    VTs.push_back(N->getValueType(I)); - -  CloneNodeWithValues(N, DAG, VTs); +  CloneNodeWithValues(N, DAG, +                      makeArrayRef(N->value_begin(), N->getNumValues() - 1));  }  /// ClusterNeighboringLoads - Force nearby loads together by "gluing" them.  | 
