Index: test/unittests/compiler/node-test-utils.cc |
diff --git a/test/unittests/compiler/node-test-utils.cc b/test/unittests/compiler/node-test-utils.cc |
index a84a3f1da9ff1d8a0dccbbf2ea7711e074fe30db..857f13e8bed769cd90ca5780450b2f5d40d26217 100644 |
--- a/test/unittests/compiler/node-test-utils.cc |
+++ b/test/unittests/compiler/node-test-utils.cc |
@@ -543,11 +543,24 @@ class IsEffectSetMatcher FINAL : public NodeMatcher { |
} |
bool MatchAndExplain(Node* node, MatchResultListener* listener) const FINAL { |
- return (NodeMatcher::MatchAndExplain(node, listener) && |
- PrintMatchAndExplain(NodeProperties::GetEffectInput(node, 0), |
- "effect0", effect0_matcher_, listener) && |
- PrintMatchAndExplain(NodeProperties::GetEffectInput(node, 1), |
- "effect1", effect1_matcher_, listener)); |
+ if (!NodeMatcher::MatchAndExplain(node, listener)) return false; |
+ |
+ Node* effect0 = NodeProperties::GetEffectInput(node, 0); |
+ Node* effect1 = NodeProperties::GetEffectInput(node, 1); |
+ |
+ { |
+ // Try matching in the reverse order first. |
+ StringMatchResultListener value_listener; |
+ if (effect0_matcher_.MatchAndExplain(effect1, &value_listener) && |
+ effect1_matcher_.MatchAndExplain(effect0, &value_listener)) { |
+ return true; |
+ } |
+ } |
+ |
+ return ( |
+ NodeMatcher::MatchAndExplain(node, listener) && |
Benedikt Meurer
2015/03/19 09:43:51
This was already checked above, can be removed her
titzer
2015/03/19 10:10:31
Done.
|
+ PrintMatchAndExplain(effect0, "effect0", effect0_matcher_, listener) && |
+ PrintMatchAndExplain(effect1, "effect1", effect1_matcher_, listener)); |
} |
private: |