Mercurial > hg > CbC > CbC_llvm
comparison lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp @ 120:1172e4bd9c6f
update 4.0.0
author | mir3636 |
---|---|
date | Fri, 25 Nov 2016 19:14:25 +0900 |
parents | afa8332a0e37 |
children | 803732b1fca8 |
comparison
equal
deleted
inserted
replaced
101:34baf5011add | 120:1172e4bd9c6f |
---|---|
319 // This is a temporary workaround. | 319 // This is a temporary workaround. |
320 SUnits.reserve(NumNodes * 2); | 320 SUnits.reserve(NumNodes * 2); |
321 | 321 |
322 // Add all nodes in depth first order. | 322 // Add all nodes in depth first order. |
323 SmallVector<SDNode*, 64> Worklist; | 323 SmallVector<SDNode*, 64> Worklist; |
324 SmallPtrSet<SDNode*, 64> Visited; | 324 SmallPtrSet<SDNode*, 32> Visited; |
325 Worklist.push_back(DAG->getRoot().getNode()); | 325 Worklist.push_back(DAG->getRoot().getNode()); |
326 Visited.insert(DAG->getRoot().getNode()); | 326 Visited.insert(DAG->getRoot().getNode()); |
327 | 327 |
328 SmallVector<SUnit*, 8> CallSUnits; | 328 SmallVector<SUnit*, 8> CallSUnits; |
329 while (!Worklist.empty()) { | 329 while (!Worklist.empty()) { |
748 // Did not insert any instruction. | 748 // Did not insert any instruction. |
749 Orders.push_back(std::make_pair(Order, (MachineInstr*)nullptr)); | 749 Orders.push_back(std::make_pair(Order, (MachineInstr*)nullptr)); |
750 return; | 750 return; |
751 } | 751 } |
752 | 752 |
753 Orders.push_back(std::make_pair(Order, std::prev(Emitter.getInsertPos()))); | 753 Orders.push_back(std::make_pair(Order, &*std::prev(Emitter.getInsertPos()))); |
754 ProcessSDDbgValues(N, DAG, Emitter, Orders, VRBaseMap, Order); | 754 ProcessSDDbgValues(N, DAG, Emitter, Orders, VRBaseMap, Order); |
755 } | 755 } |
756 | 756 |
757 void ScheduleDAGSDNodes:: | 757 void ScheduleDAGSDNodes:: |
758 EmitPhysRegCopy(SUnit *SU, DenseMap<SUnit*, unsigned> &VRBaseMap, | 758 EmitPhysRegCopy(SUnit *SU, DenseMap<SUnit*, unsigned> &VRBaseMap, |