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
b288f2b3
Commit
b288f2b3
authored
May 07, 1994
by
Richard Kenner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(sched_analyze_insn, attach_deaths_insn): Look at
CALL_INSN_FUNCTION_USAGE. From-SVN: r7263
parent
ac8ec8c0
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
0 deletions
+17
-0
gcc/sched.c
+17
-0
No files found.
gcc/sched.c
View file @
b288f2b3
...
...
@@ -2038,6 +2038,16 @@ sched_analyze_insn (x, insn)
else
sched_analyze_2
(
x
,
insn
);
/* Mark registers CLOBBERED or used by called function. */
if
(
GET_CODE
(
insn
)
==
CALL_INSN
)
for
(
link
=
CALL_INSN_FUNCTION_USAGE
(
insn
);
link
;
link
=
XEXP
(
link
,
1
))
{
if
(
GET_CODE
(
XEXP
(
link
,
0
))
==
CLOBBER
)
sched_analyze_1
(
XEXP
(
XEXP
(
link
,
0
),
0
),
insn
);
else
sched_analyze_2
(
XEXP
(
XEXP
(
link
,
0
),
0
),
insn
);
}
/* After reload, it is possible for an instruction to have a REG_DEAD note
for a register that actually dies a few instructions earlier. For
example, this can happen with SECONDARY_MEMORY_NEEDED reloads.
...
...
@@ -2906,6 +2916,7 @@ attach_deaths_insn (insn)
{
rtx
x
=
PATTERN
(
insn
);
register
RTX_CODE
code
=
GET_CODE
(
x
);
rtx
link
;
if
(
code
==
SET
)
{
...
...
@@ -2941,6 +2952,12 @@ attach_deaths_insn (insn)
/* Otherwise don't add a death note to things being clobbered. */
else
if
(
code
!=
CLOBBER
)
attach_deaths
(
x
,
insn
,
0
);
/* Make death notes for things used in the called function. */
if
(
GET_CODE
(
insn
)
==
CALL_INSN
)
for
(
link
=
CALL_INSN_FUNCTION_USAGE
(
insn
);
link
;
link
=
XEXP
(
link
,
1
))
attach_deaths
(
XEXP
(
XEXP
(
link
,
0
),
0
),
insn
,
GET_CODE
(
XEXP
(
link
,
0
))
==
CLOBBER
);
}
/* Delete notes beginning with INSN and maybe put them in the chain
...
...
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