Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
a9fb4f13
Commit
a9fb4f13
authored
Sep 13, 2011
by
Revital Eres
Committed by
Revital Eres
Sep 13, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
SMS: Minor misc. fixes
From-SVN: r178804
parent
966bc51a
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
16 additions
and
15 deletions
+16
-15
gcc/ChangeLog
+6
-0
gcc/modulo-sched.c
+10
-15
No files found.
gcc/ChangeLog
View file @
a9fb4f13
2011-09-13 Revital Eres <revital.eres@linaro.org>
modulo-sched.c (remove_node_from_ps): Return void instead of bool.
(optimize_sc): Adjust call to remove_node_from_ps.
(sms_schedule): Add print info.
2011-09-13 Bernd Schmidt <bernds@codesourcery.com>
2011-09-13 Bernd Schmidt <bernds@codesourcery.com>
* rtl.c (copy_rtx): Do not handle frame_related, jump or call
* rtl.c (copy_rtx): Do not handle frame_related, jump or call
gcc/modulo-sched.c
View file @
a9fb4f13
...
@@ -211,7 +211,7 @@ static int get_sched_window (partial_schedule_ptr, ddg_node_ptr,
...
@@ -211,7 +211,7 @@ static int get_sched_window (partial_schedule_ptr, ddg_node_ptr,
static
bool
try_scheduling_node_in_cycle
(
partial_schedule_ptr
,
ddg_node_ptr
,
static
bool
try_scheduling_node_in_cycle
(
partial_schedule_ptr
,
ddg_node_ptr
,
int
,
int
,
sbitmap
,
int
*
,
sbitmap
,
int
,
int
,
sbitmap
,
int
*
,
sbitmap
,
sbitmap
);
sbitmap
);
static
bool
remove_node_from_ps
(
partial_schedule_ptr
,
ps_insn_ptr
);
static
void
remove_node_from_ps
(
partial_schedule_ptr
,
ps_insn_ptr
);
#define SCHED_ASAP(x) (((node_sched_params_ptr)(x)->aux.info)->asap)
#define SCHED_ASAP(x) (((node_sched_params_ptr)(x)->aux.info)->asap)
#define SCHED_TIME(x) (((node_sched_params_ptr)(x)->aux.info)->time)
#define SCHED_TIME(x) (((node_sched_params_ptr)(x)->aux.info)->time)
...
@@ -834,8 +834,7 @@ optimize_sc (partial_schedule_ptr ps, ddg_ptr g)
...
@@ -834,8 +834,7 @@ optimize_sc (partial_schedule_ptr ps, ddg_ptr g)
if
(
next_ps_i
->
node
->
cuid
==
g
->
closing_branch
->
cuid
)
if
(
next_ps_i
->
node
->
cuid
==
g
->
closing_branch
->
cuid
)
break
;
break
;
gcc_assert
(
next_ps_i
);
remove_node_from_ps
(
ps
,
next_ps_i
);
gcc_assert
(
remove_node_from_ps
(
ps
,
next_ps_i
));
success
=
success
=
try_scheduling_node_in_cycle
(
ps
,
g
->
closing_branch
,
try_scheduling_node_in_cycle
(
ps
,
g
->
closing_branch
,
g
->
closing_branch
->
cuid
,
c
,
g
->
closing_branch
->
cuid
,
c
,
...
@@ -1485,8 +1484,8 @@ sms_schedule (void)
...
@@ -1485,8 +1484,8 @@ sms_schedule (void)
if
(
dump_file
)
if
(
dump_file
)
{
{
fprintf
(
dump_file
,
fprintf
(
dump_file
,
"
SMS succeeded %d %d (with ii, sc)
\n
"
,
ps
->
ii
,
"
%s:%d SMS succeeded %d %d (with ii, sc)
\n
"
,
stage_count
);
insn_file
(
tail
),
insn_line
(
tail
),
ps
->
ii
,
stage_count
);
print_partial_schedule
(
ps
,
dump_file
);
print_partial_schedule
(
ps
,
dump_file
);
}
}
...
@@ -2719,22 +2718,18 @@ create_ps_insn (ddg_node_ptr node, int cycle)
...
@@ -2719,22 +2718,18 @@ create_ps_insn (ddg_node_ptr node, int cycle)
}
}
/* Removes the given PS_INSN from the partial schedule. Returns false if the
/* Removes the given PS_INSN from the partial schedule. */
node is not found in the partial schedule, else returns true. */
static
void
static
bool
remove_node_from_ps
(
partial_schedule_ptr
ps
,
ps_insn_ptr
ps_i
)
remove_node_from_ps
(
partial_schedule_ptr
ps
,
ps_insn_ptr
ps_i
)
{
{
int
row
;
int
row
;
if
(
!
ps
||
!
ps_i
)
gcc_assert
(
ps
&&
ps_i
);
return
false
;
row
=
SMODULO
(
ps_i
->
cycle
,
ps
->
ii
);
row
=
SMODULO
(
ps_i
->
cycle
,
ps
->
ii
);
if
(
!
ps_i
->
prev_in_row
)
if
(
!
ps_i
->
prev_in_row
)
{
{
if
(
ps_i
!=
ps
->
rows
[
row
])
gcc_assert
(
ps_i
==
ps
->
rows
[
row
]);
return
false
;
ps
->
rows
[
row
]
=
ps_i
->
next_in_row
;
ps
->
rows
[
row
]
=
ps_i
->
next_in_row
;
if
(
ps
->
rows
[
row
])
if
(
ps
->
rows
[
row
])
ps
->
rows
[
row
]
->
prev_in_row
=
NULL
;
ps
->
rows
[
row
]
->
prev_in_row
=
NULL
;
...
@@ -2748,7 +2743,7 @@ remove_node_from_ps (partial_schedule_ptr ps, ps_insn_ptr ps_i)
...
@@ -2748,7 +2743,7 @@ remove_node_from_ps (partial_schedule_ptr ps, ps_insn_ptr ps_i)
ps
->
rows_length
[
row
]
-=
1
;
ps
->
rows_length
[
row
]
-=
1
;
free
(
ps_i
);
free
(
ps_i
);
return
true
;
return
;
}
}
/* Unlike what literature describes for modulo scheduling (which focuses
/* Unlike what literature describes for modulo scheduling (which focuses
...
...
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