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
ed7656f6
Commit
ed7656f6
authored
Jan 19, 2011
by
Jakub Jelinek
Committed by
Jakub Jelinek
Jan 19, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* ipa-split.c: Spelling fixes.
From-SVN: r169019
parent
27098b6b
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
19 additions
and
15 deletions
+19
-15
gcc/ChangeLog
+4
-0
gcc/ipa-split.c
+15
-15
No files found.
gcc/ChangeLog
View file @
ed7656f6
2011-01-19 Jakub Jelinek <jakub@redhat.com>
* ipa-split.c: Spelling fixes.
2011-01-19 Richard Henderson <rth@redhat.com>
* config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
...
...
gcc/ipa-split.c
View file @
ed7656f6
...
...
@@ -46,7 +46,7 @@ along with GCC; see the file COPYING3. If not see
}
When func becomes inlinable and when cheap_test is often true, inlining func,
but not fund.part leads to performance imrovement similar as inlining
but not fund.part leads to performance im
p
rovement similar as inlining
original func while the code size growth is smaller.
The pass is organized in three stages:
...
...
@@ -112,7 +112,7 @@ struct split_point
/* Size of the partitions. */
unsigned
int
header_time
,
header_size
,
split_time
,
split_size
;
/* SSA names that need to be passed into spit func
it
on. */
/* SSA names that need to be passed into spit func
ti
on. */
bitmap
ssa_names_to_pass
;
/* Basic block where we split (that will become entry point of new function. */
...
...
@@ -285,7 +285,7 @@ consider_split (struct split_point *current, bitmap non_ssa_vars,
edge_iterator
ei
;
gimple_stmt_iterator
bsi
;
unsigned
int
i
;
int
incom
m
ing_freq
=
0
;
int
incoming_freq
=
0
;
tree
retval
;
if
(
dump_file
&&
(
dump_flags
&
TDF_DETAILS
))
...
...
@@ -293,16 +293,16 @@ consider_split (struct split_point *current, bitmap non_ssa_vars,
FOR_EACH_EDGE
(
e
,
ei
,
current
->
entry_bb
->
preds
)
if
(
!
bitmap_bit_p
(
current
->
split_bbs
,
e
->
src
->
index
))
incom
m
ing_freq
+=
EDGE_FREQUENCY
(
e
);
incoming_freq
+=
EDGE_FREQUENCY
(
e
);
/* Do not split when we would end up calling function anyway. */
if
(
incom
m
ing_freq
if
(
incoming_freq
>=
(
ENTRY_BLOCK_PTR
->
frequency
*
PARAM_VALUE
(
PARAM_PARTIAL_INLINING_ENTRY_PROBABILITY
)
/
100
))
{
if
(
dump_file
&&
(
dump_flags
&
TDF_DETAILS
))
fprintf
(
dump_file
,
" Refused: incom
m
ing frequency is too large.
\n
"
);
" Refused: incoming frequency is too large.
\n
"
);
return
;
}
...
...
@@ -313,8 +313,8 @@ consider_split (struct split_point *current, bitmap non_ssa_vars,
return
;
}
/* Verify that PHI args on entry are either vir
ut
al or all their operands
incom
m
ing from header are the same. */
/* Verify that PHI args on entry are either vir
tu
al or all their operands
incoming from header are the same. */
for
(
bsi
=
gsi_start_phis
(
current
->
entry_bb
);
!
gsi_end_p
(
bsi
);
gsi_next
(
&
bsi
))
{
gimple
stmt
=
gsi_stmt
(
bsi
);
...
...
@@ -540,7 +540,7 @@ find_return_bb (void)
return
return_bb
;
}
/* Given return basicblock RETURN_BB, see where return value is really
/* Given return basic
block RETURN_BB, see where return value is really
stored. */
static
tree
find_retval
(
basic_block
return_bb
)
...
...
@@ -703,7 +703,7 @@ visit_bb (basic_block bb, basic_block return_bb,
mark_nonssa_use
,
mark_nonssa_use
);
}
/* Record also uses com
m
ing from PHI operand in return BB. */
/* Record also uses coming from PHI operand in return BB. */
FOR_EACH_EDGE
(
e
,
ei
,
bb
->
succs
)
if
(
e
->
dest
==
return_bb
)
{
...
...
@@ -741,11 +741,11 @@ typedef struct
bitmap
bbs_visited
;
/* Last examined edge in DFS walk. Since we walk unoriented graph,
the value is up to sum of incom
m
ing and outgoing edges of BB. */
the value is up to sum of incoming and outgoing edges of BB. */
unsigned
int
edge_num
;
/* Stack entry index of earliest BB reachable from current BB
or any BB visited later in DFS
v
alk. */
or any BB visited later in DFS
w
alk. */
int
earliest
;
/* Overall time and size of all BBs reached from this BB in DFS walk. */
...
...
@@ -888,8 +888,8 @@ find_split_points (int overall_time, int overall_size)
&&
(
intptr_t
)
dest
->
aux
<
entry
->
earliest
)
entry
->
earliest
=
(
intptr_t
)
dest
->
aux
;
}
/* We are done with examin
g the edges. pop off the value from stack and
merge stuff we cum
mulate during the walk. */
/* We are done with examin
ing the edges. Pop off the value from stack
and merge stuff we accu
mulate during the walk. */
else
if
(
entry
->
bb
!=
ENTRY_BLOCK_PTR
)
{
stack_entry
*
prev
=
VEC_index
(
stack_entry
,
stack
,
...
...
@@ -1254,7 +1254,7 @@ execute_split_functions (void)
if
(
node
->
local
.
disregard_inline_limits
)
{
if
(
dump_file
)
fprintf
(
dump_file
,
"Not splitting: disregading inline limits.
\n
"
);
fprintf
(
dump_file
,
"Not splitting: disrega
r
ding inline limits.
\n
"
);
return
0
;
}
/* This can be relaxed; most of versioning tests actually prevents
...
...
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