Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(201)

Side by Side Diff: test/compiler-unittests/node-matchers.h

Issue 460593003: Initial import of ChangeLowering. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fix Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef V8_COMPILER_UNITTESTS_NODE_MATCHERS_H_
6 #define V8_COMPILER_UNITTESTS_NODE_MATCHERS_H_
7
8 #include "src/compiler/machine-operator.h"
9 #include "testing/gmock/include/gmock/gmock.h"
10
11 namespace v8 {
12 namespace internal {
13
14 // Forward declarations.
15 class HeapObject;
16 template <class T>
17 class PrintableUnique;
18
19 namespace compiler {
20
21 // Forward declarations.
22 class Node;
23
24 using testing::Matcher;
25
26 Matcher<Node*> IsBranch(const Matcher<Node*>& value_matcher,
27 const Matcher<Node*>& control_matcher);
28 Matcher<Node*> IsHeapConstant(
29 const Matcher<PrintableUnique<HeapObject> >& value_matcher);
30 Matcher<Node*> IsInt32Constant(const Matcher<int32_t>& value_matcher);
31 Matcher<Node*> IsPhi(const Matcher<Node*>& value0_matcher,
32 const Matcher<Node*>& value1_matcher,
33 const Matcher<Node*>& merge_matcher);
34 Matcher<Node*> IsProjection(const Matcher<int32_t>& index_matcher,
35 const Matcher<Node*>& base_matcher);
36
37 Matcher<Node*> IsLoad(const Matcher<MachineType>& type_matcher,
38 const Matcher<Node*>& base_matcher,
39 const Matcher<Node*>& index_matcher,
40 const Matcher<Node*>& effect_matcher);
41 Matcher<Node*> IsStore(const Matcher<MachineType>& type_matcher,
42 const Matcher<WriteBarrierKind>& write_barrier_matcher,
43 const Matcher<Node*>& base_matcher,
44 const Matcher<Node*>& index_matcher,
45 const Matcher<Node*>& value_matcher,
46 const Matcher<Node*>& effect_matcher,
47 const Matcher<Node*>& control_matcher);
48 Matcher<Node*> IsWord32And(const Matcher<Node*>& lhs_matcher,
49 const Matcher<Node*>& rhs_matcher);
50 Matcher<Node*> IsWord32Sar(const Matcher<Node*>& lhs_matcher,
51 const Matcher<Node*>& rhs_matcher);
52 Matcher<Node*> IsWord32Equal(const Matcher<Node*>& lhs_matcher,
53 const Matcher<Node*>& rhs_matcher);
54 Matcher<Node*> IsWord64And(const Matcher<Node*>& lhs_matcher,
55 const Matcher<Node*>& rhs_matcher);
56 Matcher<Node*> IsWord64Shl(const Matcher<Node*>& lhs_matcher,
57 const Matcher<Node*>& rhs_matcher);
58 Matcher<Node*> IsWord64Sar(const Matcher<Node*>& lhs_matcher,
59 const Matcher<Node*>& rhs_matcher);
60 Matcher<Node*> IsWord64Equal(const Matcher<Node*>& lhs_matcher,
61 const Matcher<Node*>& rhs_matcher);
62 Matcher<Node*> IsInt32AddWithOverflow(const Matcher<Node*>& lhs_matcher,
63 const Matcher<Node*>& rhs_matcher);
64 Matcher<Node*> IsConvertInt64ToInt32(const Matcher<Node*>& input_matcher);
65 Matcher<Node*> IsChangeInt32ToFloat64(const Matcher<Node*>& input_matcher);
66
67 } // namespace compiler
68 } // namespace internal
69 } // namespace v8
70
71 #endif // V8_COMPILER_UNITTESTS_NODE_MATCHERS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698