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
157be8f6
Commit
157be8f6
authored
Jul 19, 2010
by
Richard Henderson
Committed by
Richard Henderson
Jul 19, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Reliably change cgraph_state to SSA form.
From-SVN: r162306
parent
ca90e7f6
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
24 additions
and
14 deletions
+24
-14
gcc/ChangeLog
+8
-0
gcc/tree-optimize.c
+16
-14
No files found.
gcc/ChangeLog
View file @
157be8f6
2010-07-19 Richard Henderson <rth@redhat.com>
* tree-optimize.c (execute_all_early_local_passes): New. Change
cgraph_state here ...
(execute_early_local_optimizations): ... not here. Remove.
(pass_early_local_passes, pass_all_early_optimizations): Update.
2010-07-19 Bernd Schmidt <bernds@codesourcery.com>
2010-07-19 Bernd Schmidt <bernds@codesourcery.com>
* postreload.c (reload_combine_closest_single_use): Ignore the
* postreload.c (reload_combine_closest_single_use): Ignore the
...
@@ -11,6 +18,7 @@
...
@@ -11,6 +18,7 @@
(reload_combine): Use control_flow_insn_p rather than JUMP_P.
(reload_combine): Use control_flow_insn_p rather than JUMP_P.
2010-07-19 Bingfeng Mei <bmei@broadcom.com>
2010-07-19 Bingfeng Mei <bmei@broadcom.com>
* ddg.c (create_ddg): Exclude nodes of debug_insn in counting nodes
* ddg.c (create_ddg): Exclude nodes of debug_insn in counting nodes
of a loop.
of a loop.
* loop-doloop.c (doloop_condition_get): Skip possible debug_insn.
* loop-doloop.c (doloop_condition_get): Skip possible debug_insn.
...
...
gcc/tree-optimize.c
View file @
157be8f6
...
@@ -87,13 +87,27 @@ gate_all_early_local_passes (void)
...
@@ -87,13 +87,27 @@ gate_all_early_local_passes (void)
return
(
!
seen_error
()
&&
!
in_lto_p
);
return
(
!
seen_error
()
&&
!
in_lto_p
);
}
}
static
unsigned
int
execute_all_early_local_passes
(
void
)
{
/* Once this pass (and its sub-passes) are complete, all functions
will be in SSA form. Technically this state change is happening
a tad early, since the sub-passes have not yet run, but since
none of the sub-passes are IPA passes and do not create new
functions, this is ok. We're setting this value for the benefit
of IPA passes that follow. */
if
(
cgraph_state
<
CGRAPH_STATE_IPA_SSA
)
cgraph_state
=
CGRAPH_STATE_IPA_SSA
;
return
0
;
}
struct
simple_ipa_opt_pass
pass_early_local_passes
=
struct
simple_ipa_opt_pass
pass_early_local_passes
=
{
{
{
{
SIMPLE_IPA_PASS
,
SIMPLE_IPA_PASS
,
"early_local_cleanups"
,
/* name */
"early_local_cleanups"
,
/* name */
gate_all_early_local_passes
,
/* gate */
gate_all_early_local_passes
,
/* gate */
NULL
,
/* execute */
execute_all_early_local_passes
,
/* execute */
NULL
,
/* sub */
NULL
,
/* sub */
NULL
,
/* next */
NULL
,
/* next */
0
,
/* static_pass_number */
0
,
/* static_pass_number */
...
@@ -106,18 +120,6 @@ struct simple_ipa_opt_pass pass_early_local_passes =
...
@@ -106,18 +120,6 @@ struct simple_ipa_opt_pass pass_early_local_passes =
}
}
};
};
static
unsigned
int
execute_early_local_optimizations
(
void
)
{
/* First time we start with early optimization we need to advance
cgraph state so newly inserted functions are also early optimized.
However we execute early local optimizations for lately inserted
functions, in that case don't reset cgraph state back to IPA_SSA. */
if
(
cgraph_state
<
CGRAPH_STATE_IPA_SSA
)
cgraph_state
=
CGRAPH_STATE_IPA_SSA
;
return
0
;
}
/* Gate: execute, or not, all of the non-trivial optimizations. */
/* Gate: execute, or not, all of the non-trivial optimizations. */
static
bool
static
bool
...
@@ -134,7 +136,7 @@ struct gimple_opt_pass pass_all_early_optimizations =
...
@@ -134,7 +136,7 @@ struct gimple_opt_pass pass_all_early_optimizations =
GIMPLE_PASS
,
GIMPLE_PASS
,
"early_optimizations"
,
/* name */
"early_optimizations"
,
/* name */
gate_all_early_optimizations
,
/* gate */
gate_all_early_optimizations
,
/* gate */
execute_early_local_optimizations
,
/* execute */
NULL
,
/* execute */
NULL
,
/* sub */
NULL
,
/* sub */
NULL
,
/* next */
NULL
,
/* next */
0
,
/* static_pass_number */
0
,
/* static_pass_number */
...
...
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