Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gaoqiong
MIGraphX
Commits
75ff4513
"docs/en_US/vscode:/vscode.git/clone" did not exist on "279dbdef5f899afbed53aab337ac2cb605705a96"
Commit
75ff4513
authored
Sep 23, 2018
by
Paul
Browse files
Formatting
parent
adf9a5ce
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
36 additions
and
34 deletions
+36
-34
src/include/migraph/matcher.hpp
src/include/migraph/matcher.hpp
+1
-1
test/matcher.cpp
test/matcher.cpp
+35
-33
No files found.
src/include/migraph/matcher.hpp
View file @
75ff4513
test/matcher.cpp
View file @
75ff4513
...
@@ -174,8 +174,8 @@ void match_args2()
...
@@ -174,8 +174,8 @@ void match_args2()
auto
two
=
p
.
add_literal
(
2
);
auto
two
=
p
.
add_literal
(
2
);
auto
sum
=
p
.
add_instruction
(
sum_op
{},
one
,
two
);
auto
sum
=
p
.
add_instruction
(
sum_op
{},
one
,
two
);
p
.
add_instruction
(
pass_op
{},
sum
);
p
.
add_instruction
(
pass_op
{},
sum
);
auto
m
=
matchers
::
name
(
"sum"
)(
auto
m
=
matchers
::
args
(
matchers
::
name
(
"@literal"
),
matchers
::
name
(
"sum"
)),
matchers
::
name
(
"sum"
)(
matchers
::
args
(
matchers
::
name
(
"@literal"
),
matchers
::
name
(
"sum"
)),
matchers
::
standard_shape
());
matchers
::
standard_shape
());
auto
r
=
find_match
(
p
,
m
);
auto
r
=
find_match
(
p
,
m
);
EXPECT
(
bool
{
r
.
result
==
p
.
end
()});
EXPECT
(
bool
{
r
.
result
==
p
.
end
()});
...
@@ -188,8 +188,7 @@ void match_args3()
...
@@ -188,8 +188,7 @@ void match_args3()
auto
two
=
p
.
add_literal
(
2
);
auto
two
=
p
.
add_literal
(
2
);
auto
sum
=
p
.
add_instruction
(
sum_op
{},
one
,
two
);
auto
sum
=
p
.
add_instruction
(
sum_op
{},
one
,
two
);
p
.
add_instruction
(
pass_op
{},
sum
);
p
.
add_instruction
(
pass_op
{},
sum
);
auto
m
=
matchers
::
name
(
"sum"
)(
auto
m
=
matchers
::
name
(
"sum"
)(
matchers
::
args
(
matchers
::
name
(
"@literal"
)),
matchers
::
args
(
matchers
::
name
(
"@literal"
)),
matchers
::
standard_shape
());
matchers
::
standard_shape
());
auto
r
=
find_match
(
p
,
m
);
auto
r
=
find_match
(
p
,
m
);
EXPECT
(
bool
{
r
.
result
==
sum
});
EXPECT
(
bool
{
r
.
result
==
sum
});
...
@@ -203,8 +202,8 @@ void match_args4()
...
@@ -203,8 +202,8 @@ void match_args4()
auto
sum1
=
p
.
add_instruction
(
sum_op
{},
one
,
two
);
auto
sum1
=
p
.
add_instruction
(
sum_op
{},
one
,
two
);
auto
sum2
=
p
.
add_instruction
(
sum_op
{},
sum1
,
two
);
auto
sum2
=
p
.
add_instruction
(
sum_op
{},
sum1
,
two
);
p
.
add_instruction
(
pass_op
{},
sum2
);
p
.
add_instruction
(
pass_op
{},
sum2
);
auto
m
=
matchers
::
name
(
"sum"
)(
auto
m
=
matchers
::
args
(
matchers
::
name
(
"sum"
),
matchers
::
name
(
"@literal"
)),
matchers
::
name
(
"sum"
)(
matchers
::
args
(
matchers
::
name
(
"sum"
),
matchers
::
name
(
"@literal"
)),
matchers
::
standard_shape
());
matchers
::
standard_shape
());
auto
r
=
find_match
(
p
,
m
);
auto
r
=
find_match
(
p
,
m
);
EXPECT
(
bool
{
r
.
result
==
sum2
});
EXPECT
(
bool
{
r
.
result
==
sum2
});
...
@@ -217,8 +216,8 @@ void match_args5()
...
@@ -217,8 +216,8 @@ void match_args5()
auto
two
=
p
.
add_literal
(
2
);
auto
two
=
p
.
add_literal
(
2
);
auto
sum
=
p
.
add_instruction
(
sum_op
{},
one
,
two
);
auto
sum
=
p
.
add_instruction
(
sum_op
{},
one
,
two
);
p
.
add_instruction
(
pass_op
{},
sum
);
p
.
add_instruction
(
pass_op
{},
sum
);
auto
m
=
matchers
::
name
(
"sum"
)(
auto
m
=
matchers
::
args
(
matchers
::
name
(
"sum"
),
matchers
::
name
(
"@literal"
)),
matchers
::
name
(
"sum"
)(
matchers
::
args
(
matchers
::
name
(
"sum"
),
matchers
::
name
(
"@literal"
)),
matchers
::
standard_shape
());
matchers
::
standard_shape
());
auto
r
=
find_match
(
p
,
m
);
auto
r
=
find_match
(
p
,
m
);
EXPECT
(
bool
{
r
.
result
==
p
.
end
()});
EXPECT
(
bool
{
r
.
result
==
p
.
end
()});
...
@@ -231,9 +230,8 @@ void match_args6()
...
@@ -231,9 +230,8 @@ void match_args6()
auto
two
=
p
.
add_literal
(
2
);
auto
two
=
p
.
add_literal
(
2
);
auto
sum
=
p
.
add_instruction
(
sum_op
{},
one
,
two
);
auto
sum
=
p
.
add_instruction
(
sum_op
{},
one
,
two
);
auto
pass
=
p
.
add_instruction
(
pass_op
{},
sum
);
auto
pass
=
p
.
add_instruction
(
pass_op
{},
sum
);
auto
m
=
matchers
::
name
(
"pass"
)(
auto
m
=
matchers
::
args
(
matchers
::
name
(
"sum"
)),
matchers
::
name
(
"pass"
)(
matchers
::
args
(
matchers
::
name
(
"sum"
)),
matchers
::
standard_shape
());
matchers
::
standard_shape
());
auto
r
=
find_match
(
p
,
m
);
auto
r
=
find_match
(
p
,
m
);
EXPECT
(
bool
{
r
.
result
==
pass
});
EXPECT
(
bool
{
r
.
result
==
pass
});
}
}
...
@@ -245,8 +243,8 @@ void match_args7()
...
@@ -245,8 +243,8 @@ void match_args7()
auto
two
=
p
.
add_literal
(
2
);
auto
two
=
p
.
add_literal
(
2
);
auto
sum
=
p
.
add_instruction
(
sum_op
{},
one
,
two
);
auto
sum
=
p
.
add_instruction
(
sum_op
{},
one
,
two
);
auto
pass
=
p
.
add_instruction
(
pass_op
{},
sum
);
auto
pass
=
p
.
add_instruction
(
pass_op
{},
sum
);
auto
m
=
matchers
::
name
(
"pass"
)(
auto
m
=
matchers
::
name
(
"pass"
)(
matchers
::
args
(
matchers
::
name
(
"sum"
)(
matchers
::
args
(
matchers
::
args
(
matchers
::
name
(
"sum"
)(
matchers
::
args
(
matchers
::
name
(
"@literal"
),
matchers
::
name
(
"@literal"
)))),
matchers
::
name
(
"@literal"
),
matchers
::
name
(
"@literal"
)))),
matchers
::
standard_shape
());
matchers
::
standard_shape
());
auto
r
=
find_match
(
p
,
m
);
auto
r
=
find_match
(
p
,
m
);
EXPECT
(
bool
{
r
.
result
==
pass
});
EXPECT
(
bool
{
r
.
result
==
pass
});
...
@@ -260,8 +258,12 @@ void match_bind1()
...
@@ -260,8 +258,12 @@ void match_bind1()
auto
sum
=
p
.
add_instruction
(
sum_op
{},
one
,
two
);
auto
sum
=
p
.
add_instruction
(
sum_op
{},
one
,
two
);
auto
pass
=
p
.
add_instruction
(
pass_op
{},
sum
);
auto
pass
=
p
.
add_instruction
(
pass_op
{},
sum
);
auto
m
=
matchers
::
name
(
"pass"
)(
auto
m
=
matchers
::
name
(
"pass"
)(
matchers
::
args
(
matchers
::
name
(
"sum"
)(
matchers
::
args
(
matchers
::
name
(
"@literal"
).
bind
(
"one"
),
matchers
::
name
(
"@literal"
).
bind
(
"two"
))).
bind
(
"sum"
)),
matchers
::
args
(
matchers
::
standard_shape
()).
bind
(
"pass"
);
matchers
::
name
(
"sum"
)(
matchers
::
args
(
matchers
::
name
(
"@literal"
).
bind
(
"one"
),
matchers
::
name
(
"@literal"
).
bind
(
"two"
)))
.
bind
(
"sum"
)),
matchers
::
standard_shape
())
.
bind
(
"pass"
);
auto
r
=
find_match
(
p
,
m
);
auto
r
=
find_match
(
p
,
m
);
EXPECT
(
bool
{
r
.
instructions
.
at
(
"one"
)
==
one
});
EXPECT
(
bool
{
r
.
instructions
.
at
(
"one"
)
==
one
});
EXPECT
(
bool
{
r
.
instructions
.
at
(
"two"
)
==
two
});
EXPECT
(
bool
{
r
.
instructions
.
at
(
"two"
)
==
two
});
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment