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
11b8091f
Commit
11b8091f
authored
Dec 18, 2019
by
Eric Botcazou
Committed by
Eric Botcazou
Dec 18, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* ira.c (ira): Use simple LRA algorithm when not optimizing.
From-SVN: r279550
parent
d3769410
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
26 additions
and
14 deletions
+26
-14
gcc/ChangeLog
+4
-0
gcc/ira.c
+22
-14
No files found.
gcc/ChangeLog
View file @
11b8091f
2019-12-18 Eric Botcazou <ebotcazou@adacore.com>
* ira.c (ira): Use simple LRA algorithm when not optimizing.
2019-12-18 Thomas Schwinge <thomas@codesourcery.com>
2019-12-18 Thomas Schwinge <thomas@codesourcery.com>
* gimplify.c (gimplify_omp_target_update): Elaborate 'exit data'
* gimplify.c (gimplify_omp_target_update): Elaborate 'exit data'
gcc/ira.c
View file @
11b8091f
...
@@ -5192,8 +5192,6 @@ ira (FILE *f)
...
@@ -5192,8 +5192,6 @@ ira (FILE *f)
int
ira_max_point_before_emit
;
int
ira_max_point_before_emit
;
bool
saved_flag_caller_saves
=
flag_caller_saves
;
bool
saved_flag_caller_saves
=
flag_caller_saves
;
enum
ira_region
saved_flag_ira_region
=
flag_ira_region
;
enum
ira_region
saved_flag_ira_region
=
flag_ira_region
;
unsigned
int
i
;
int
num_used_regs
=
0
;
clear_bb_flags
();
clear_bb_flags
();
...
@@ -5207,18 +5205,28 @@ ira (FILE *f)
...
@@ -5207,18 +5205,28 @@ ira (FILE *f)
/* Perform target specific PIC register initialization. */
/* Perform target specific PIC register initialization. */
targetm
.
init_pic_reg
();
targetm
.
init_pic_reg
();
ira_conflicts_p
=
optimize
>
0
;
if
(
optimize
)
{
/* Determine the number of pseudos actually requiring coloring. */
ira_conflicts_p
=
true
;
for
(
i
=
FIRST_PSEUDO_REGISTER
;
i
<
DF_REG_SIZE
(
df
);
i
++
)
num_used_regs
+=
!!
(
DF_REG_USE_COUNT
(
i
)
+
DF_REG_DEF_COUNT
(
i
));
/* Determine the number of pseudos actually requiring coloring. */
unsigned
int
num_used_regs
=
0
;
/* If there are too many pseudos and/or basic blocks (e.g. 10K
for
(
unsigned
int
i
=
FIRST_PSEUDO_REGISTER
;
i
<
DF_REG_SIZE
(
df
);
i
++
)
pseudos and 10K blocks or 100K pseudos and 1K blocks), we will
if
(
DF_REG_DEF_COUNT
(
i
)
||
DF_REG_USE_COUNT
(
i
))
use simplified and faster algorithms in LRA. */
num_used_regs
++
;
lra_simple_p
=
(
ira_use_lra_p
/* If there are too many pseudos and/or basic blocks (e.g. 10K
&&
num_used_regs
>=
(
1
<<
26
)
/
last_basic_block_for_fn
(
cfun
));
pseudos and 10K blocks or 100K pseudos and 1K blocks), we will
use simplified and faster algorithms in LRA. */
lra_simple_p
=
ira_use_lra_p
&&
num_used_regs
>=
(
1U
<<
26
)
/
last_basic_block_for_fn
(
cfun
);
}
else
{
ira_conflicts_p
=
false
;
lra_simple_p
=
ira_use_lra_p
;
}
if
(
lra_simple_p
)
if
(
lra_simple_p
)
{
{
...
...
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