Index: src/compiler/instruction-selector-impl.h |
diff --git a/src/compiler/instruction-selector-impl.h b/src/compiler/instruction-selector-impl.h |
index e22f5458697b852f59300dc5e4011298673da45e..aa2e3546fd0822dd8d60b3f01e6b81d89deb503c 100644 |
--- a/src/compiler/instruction-selector-impl.h |
+++ b/src/compiler/instruction-selector-impl.h |
@@ -259,20 +259,22 @@ class FlagsContinuation final { |
} |
// Creates a new flags continuation from the given condition and result node. |
- FlagsContinuation(FlagsCondition condition, Node* result) |
- : mode_(kFlags_set), condition_(condition), result_(result) { |
+ FlagsContinuation(FlagsCondition condition, Node* result, |
+ FlagsMode mode = kFlags_set) |
+ : mode_(mode), condition_(condition), result_(result) { |
DCHECK_NOT_NULL(result); |
} |
bool IsNone() const { return mode_ == kFlags_none; } |
bool IsBranch() const { return mode_ == kFlags_branch; } |
bool IsSet() const { return mode_ == kFlags_set; } |
+ bool IsSelect() const { return mode_ == kFlags_select; } |
FlagsCondition condition() const { |
DCHECK(!IsNone()); |
return condition_; |
} |
Node* result() const { |
- DCHECK(IsSet()); |
+ DCHECK(IsSet() || IsSelect()); |
return result_; |
} |
BasicBlock* true_block() const { |
@@ -346,9 +348,9 @@ class FlagsContinuation final { |
private: |
FlagsMode mode_; |
FlagsCondition condition_; |
- Node* result_; // Only valid if mode_ == kFlags_set. |
- BasicBlock* true_block_; // Only valid if mode_ == kFlags_branch. |
- BasicBlock* false_block_; // Only valid if mode_ == kFlags_branch. |
+ Node* result_; // Valid if mode_ == kFlags_set or kFlags_select. |
+ BasicBlock* true_block_; // Valid if mode_ == kFlags_branch. |
+ BasicBlock* false_block_; // Valid if mode_ == kFlags_branch. |
}; |