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
dfc7bbac
Commit
dfc7bbac
authored
May 19, 2022
by
Paul
Browse files
Format
parent
3fb1b7f3
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
5 additions
and
5 deletions
+5
-5
src/eliminate_contiguous.cpp
src/eliminate_contiguous.cpp
+5
-5
No files found.
src/eliminate_contiguous.cpp
View file @
dfc7bbac
...
@@ -69,7 +69,7 @@ static bool try_compute_shape(instruction_ref ins,
...
@@ -69,7 +69,7 @@ static bool try_compute_shape(instruction_ref ins,
return
try_compute_shape
(
ins
,
inputs
,
mods
);
return
try_compute_shape
(
ins
,
inputs
,
mods
);
}
}
template
<
class
F
>
template
<
class
F
>
static
void
remove_contiguous
(
const
std
::
string
&
op_name
,
module
&
m
,
F
f
)
static
void
remove_contiguous
(
const
std
::
string
&
op_name
,
module
&
m
,
F
f
)
{
{
auto
last
=
std
::
prev
(
m
.
end
());
auto
last
=
std
::
prev
(
m
.
end
());
...
@@ -79,10 +79,10 @@ static void remove_contiguous(const std::string& op_name, module& m, F f)
...
@@ -79,10 +79,10 @@ static void remove_contiguous(const std::string& op_name, module& m, F f)
if
(
ins
->
name
()
==
"@return"
)
if
(
ins
->
name
()
==
"@return"
)
continue
;
continue
;
if
(
ins
!=
last
and
ins
->
outputs
().
empty
())
if
(
ins
!=
last
and
ins
->
outputs
().
empty
())
continue
;
continue
;
if
(
not
f
(
ins
))
if
(
not
f
(
ins
))
continue
;
continue
;
// Make a copy so we can modify it while we iterate
// Make a copy so we can modify it while we iterate
...
@@ -114,8 +114,8 @@ static void remove_contiguous(const std::string& op_name, module& m, F f)
...
@@ -114,8 +114,8 @@ static void remove_contiguous(const std::string& op_name, module& m, F f)
void
eliminate_contiguous
::
apply
(
module
&
m
)
const
void
eliminate_contiguous
::
apply
(
module
&
m
)
const
{
{
// Skip contiguous from splits first
// Skip contiguous from splits first
remove_contiguous
(
op_name
,
m
,
[](
auto
ins
)
{
remove_contiguous
(
op_name
,
m
,
[](
auto
ins
)
{
if
(
ins
->
name
()
!=
"slice"
)
if
(
ins
->
name
()
!=
"slice"
)
return
true
;
return
true
;
return
(
ins
->
inputs
().
front
()
->
outputs
().
size
()
==
1
);
return
(
ins
->
inputs
().
front
()
->
outputs
().
size
()
==
1
);
});
});
...
...
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