#include <parallel_move_resolver.h>
Definition at line 21 of file parallel_move_resolver.h.
◆ ParallelMoveResolver()
dart::ParallelMoveResolver::ParallelMoveResolver |
( |
| ) |
|
◆ Resolve()
Definition at line 86 of file parallel_move_resolver.cc.
86 {
88
89
90 BuildInitialMoveList(parallel_move);
91
92 const InstructionSource& move_source = InstructionSource(
93 TokenPosition::kParallelMove, parallel_move->inlining_id());
94 for (intptr_t
i = 0;
i < moves_.length(); ++
i) {
95 const MoveOperands& move = moves_[
i];
96
97
98
99 if (!move.IsEliminated() && !move.src().IsConstant()) {
100 PerformMove(move_source,
i);
101 }
102 }
103
104
105 for (const auto& move : moves_) {
106 if (!move.IsEliminated()) {
107 ASSERT(move.src().IsConstant());
108 scheduled_ops_.
Add({OpKind::kMove, move});
109 }
110 }
111 moves_.Clear();
112
113
115 scheduled_ops_.
Clear();
116}
static const MoveSchedule & From(const GrowableArray< ParallelMoveResolver::Op > &ops)
◆ FlowGraphDeserializer
◆ MoveSchedule
◆ ParallelMoveEmitter
The documentation for this class was generated from the following files: