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
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
19 additions
and
7 deletions
+19
-7
gcc/ChangeLog
+4
-0
gcc/ira.c
+15
-7
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
)
{
ira_conflicts_p
=
true
;
/* Determine the number of pseudos actually requiring coloring. */
/* Determine the number of pseudos actually requiring coloring. */
for
(
i
=
FIRST_PSEUDO_REGISTER
;
i
<
DF_REG_SIZE
(
df
);
i
++
)
unsigned
int
num_used_regs
=
0
;
num_used_regs
+=
!!
(
DF_REG_USE_COUNT
(
i
)
+
DF_REG_DEF_COUNT
(
i
));
for
(
unsigned
int
i
=
FIRST_PSEUDO_REGISTER
;
i
<
DF_REG_SIZE
(
df
);
i
++
)
if
(
DF_REG_DEF_COUNT
(
i
)
||
DF_REG_USE_COUNT
(
i
))
num_used_regs
++
;
/* If there are too many pseudos and/or basic blocks (e.g. 10K
/* If there are too many pseudos and/or basic blocks (e.g. 10K
pseudos and 10K blocks or 100K pseudos and 1K blocks), we will
pseudos and 10K blocks or 100K pseudos and 1K blocks), we will
use simplified and faster algorithms in LRA. */
use simplified and faster algorithms in LRA. */
lra_simple_p
lra_simple_p
=
(
ira_use_lra_p
=
ira_use_lra_p
&&
num_used_regs
>=
(
1
<<
26
)
/
last_basic_block_for_fn
(
cfun
));
&&
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