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
b543d680
Commit
b543d680
authored
Jul 03, 2017
by
Jan Hubicka
Committed by
Jan Hubicka
Jul 02, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* tree-complex.c (expand_complex_div_wide): update profile.
From-SVN: r249884
parent
ef29f5dd
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
16 additions
and
3 deletions
+16
-3
gcc/ChangeLog
+4
-0
gcc/tree-complex.c
+12
-3
No files found.
gcc/ChangeLog
View file @
b543d680
2017
-
07
-
02
Jan
Hubicka
<
hubicka
@
ucw
.
cz
>
*
tree
-
complex
.
c
(
expand_complex_div_wide
):
update
profile
.
2017
-
07
-
02
Richard
Sandiford
<
richard
.
sandiford
@
linaro
.
org
>
Alan
Hayward
<
alan
.
hayward
@
arm
.
com
>
David
Sherwood
<
david
.
sherwood
@
arm
.
com
>
...
...
gcc/tree-complex.c
View file @
b543d680
...
...
@@ -1186,13 +1186,22 @@ expand_complex_div_wide (gimple_stmt_iterator *gsi, tree inner_type,
bb_join
=
e
->
dest
;
bb_true
=
create_empty_bb
(
bb_cond
);
bb_false
=
create_empty_bb
(
bb_true
);
bb_true
->
frequency
=
bb_false
->
frequency
=
bb_cond
->
frequency
/
2
;
bb_true
->
count
=
bb_false
->
count
=
bb_cond
->
count
.
apply_probability
(
profile_probability
::
even
());
/* Wire the blocks together. */
e
->
flags
=
EDGE_TRUE_VALUE
;
e
->
count
=
bb_true
->
count
;
/* TODO: With value profile we could add an historgram to determine real
branch outcome. */
e
->
probability
=
profile_probability
::
even
();
redirect_edge_succ
(
e
,
bb_true
);
make_edge
(
bb_cond
,
bb_false
,
EDGE_FALSE_VALUE
);
make_edge
(
bb_true
,
bb_join
,
EDGE_FALLTHRU
);
make_edge
(
bb_false
,
bb_join
,
EDGE_FALLTHRU
);
edge
e2
=
make_edge
(
bb_cond
,
bb_false
,
EDGE_FALSE_VALUE
);
e2
->
count
=
bb_false
->
count
;
e2
->
probability
=
profile_probability
::
even
();
make_single_succ_edge
(
bb_true
,
bb_join
,
EDGE_FALLTHRU
);
make_single_succ_edge
(
bb_false
,
bb_join
,
EDGE_FALLTHRU
);
add_bb_to_loop
(
bb_true
,
bb_cond
->
loop_father
);
add_bb_to_loop
(
bb_false
,
bb_cond
->
loop_father
);
...
...
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