| Index: runtime/vm/intermediate_language.h
|
| diff --git a/runtime/vm/intermediate_language.h b/runtime/vm/intermediate_language.h
|
| index 7733ba3edf4d89ff707bbfe3c29dad21686f0bbd..1f4201a09b8fdd94ebc2ccd2e7a997fc9a766925 100644
|
| --- a/runtime/vm/intermediate_language.h
|
| +++ b/runtime/vm/intermediate_language.h
|
| @@ -1078,6 +1078,8 @@ class ParallelMoveInstr : public TemplateInstruction<0> {
|
|
|
| intptr_t NumMoves() const { return moves_.length(); }
|
|
|
| + bool IsRedundant() const;
|
| +
|
| virtual void PrintTo(BufferFormatter* f) const;
|
|
|
| virtual bool MayThrow() const { return false; }
|
| @@ -1138,6 +1140,10 @@ class BlockEntryInstr : public Instruction {
|
| return parallel_move_ != NULL;
|
| }
|
|
|
| + bool HasNonRedundantParallelMove() const {
|
| + return HasParallelMove() && !parallel_move()->IsRedundant();
|
| + }
|
| +
|
| ParallelMoveInstr* GetParallelMove() {
|
| if (parallel_move_ == NULL) {
|
| parallel_move_ = new ParallelMoveInstr();
|
| @@ -2167,6 +2173,10 @@ class GotoInstr : public TemplateInstruction<0> {
|
| return parallel_move_ != NULL;
|
| }
|
|
|
| + bool HasNonRedundantParallelMove() const {
|
| + return HasParallelMove() && !parallel_move()->IsRedundant();
|
| + }
|
| +
|
| ParallelMoveInstr* GetParallelMove() {
|
| if (parallel_move_ == NULL) {
|
| parallel_move_ = new ParallelMoveInstr();
|
|
|