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
bc532bf7
Commit
bc532bf7
authored
Nov 07, 2001
by
Steve Christiansen
Committed by
Richard Henderson
Nov 06, 2001
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* loop.c (loop_regs_scan): Don't invalidate PIC register.
From-SVN: r46817
parent
2a2be25e
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
16 additions
and
5 deletions
+16
-5
gcc/ChangeLog
+4
-0
gcc/loop.c
+12
-5
No files found.
gcc/ChangeLog
View file @
bc532bf7
2001
-
11
-
06
Steve
Christiansen
<
smc
@us
.
ibm
.
com
>
*
loop
.
c
(
loop_regs_scan
)
:
Don
'
t
invalidate
PIC
register
.
2001
-
11
-
06
Eric
Christopher
<
echristo
@redhat
.
com
>
2001
-
11
-
06
Eric
Christopher
<
echristo
@redhat
.
com
>
*
config
/
mips
/
mips
.
md
(
movdf_internal2
)
:
Add
constraints
for
float
*
config
/
mips
/
mips
.
md
(
movdf_internal2
)
:
Add
constraints
for
float
...
...
gcc/loop.c
View file @
bc532bf7
...
@@ -8819,11 +8819,18 @@ loop_regs_scan (loop, extra_size)
...
@@ -8819,11 +8819,18 @@ loop_regs_scan (loop, extra_size)
memset
(
last_set
,
0
,
regs
->
num
*
sizeof
(
rtx
));
memset
(
last_set
,
0
,
regs
->
num
*
sizeof
(
rtx
));
}
}
for
(
i
=
0
;
i
<
FIRST_PSEUDO_REGISTER
;
i
++
)
/* Invalidate all hard registers clobbered by calls. With one exception:
{
a call-clobbered PIC register is still function-invariant for our
regs
->
array
[
i
].
may_not_optimize
=
1
;
purposes, since we can hoist any PIC calculations out of the loop.
regs
->
array
[
i
].
set_in_loop
=
1
;
Thus the call to rtx_varies_p. */
}
if
(
LOOP_INFO
(
loop
)
->
has_call
)
for
(
i
=
0
;
i
<
FIRST_PSEUDO_REGISTER
;
i
++
)
if
(
TEST_HARD_REG_BIT
(
regs_invalidated_by_call
,
i
)
&&
rtx_varies_p
(
gen_rtx_REG
(
Pmode
,
i
),
/*for_alias=*/
1
))
{
regs
->
array
[
i
].
may_not_optimize
=
1
;
regs
->
array
[
i
].
set_in_loop
=
1
;
}
#ifdef AVOID_CCMODE_COPIES
#ifdef AVOID_CCMODE_COPIES
/* Don't try to move insns which set CC registers if we should not
/* Don't try to move insns which set CC registers if we should not
...
...
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