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
0e3df013
Commit
0e3df013
authored
May 09, 1999
by
Craig Burley
Committed by
Craig Burley
May 09, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add some transitive closure
From-SVN: r26850
parent
26837cfb
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
32 additions
and
0 deletions
+32
-0
gcc/ChangeLog
+5
-0
gcc/varasm.c
+27
-0
No files found.
gcc/ChangeLog
View file @
0e3df013
Mon
May
10
01
:
28
:
10
1999
Craig
Burley
<
craig
@jcb
-
sc
.
com
>
From
Fri
May
7
9
:
31
:
41
1999
Donn
Terry
(
donn
@interix
.
com
)
:
*
varasm
.
c
(
mark_constant_pool
)
:
Add
some
transitive
closure
.
Sun
May
9
22
:
51
:
04
1999
Craig
Burley
<
craig
@jcb
-
sc
.
com
>
Fix
gcc
.
dg
/
990506
-
0
.
c
:
...
...
gcc/varasm.c
View file @
0e3df013
...
...
@@ -3718,6 +3718,33 @@ mark_constant_pool ()
insn
=
XEXP
(
insn
,
1
))
if
(
GET_RTX_CLASS
(
GET_CODE
(
insn
))
==
'i'
)
mark_constants
(
PATTERN
(
insn
));
/* It's possible that the only reference to a symbol is in a symbol
that's in the constant pool. This happens in Fortran under some
situations. (When the constant contains the address of another
constant, and only the first is used directly in an insn.)
This is potentially suboptimal if there's ever a possibility of
backwards (in pool order) 2'd level references. However, it's
not clear that 2'd level references can happen. */
for
(
pool
=
first_pool
;
pool
;
pool
=
pool
->
next
)
{
struct
pool_sym
*
sym
;
char
*
label
;
/* skip unmarked entries; no insn refers to them. */
if
(
!
pool
->
mark
)
continue
;
label
=
XSTR
(
pool
->
constant
,
0
);
/* Be sure the symbol's value is marked. */
for
(
sym
=
const_rtx_sym_hash_table
[
SYMHASH
(
label
)];
sym
;
sym
=
sym
->
next
)
if
(
sym
->
label
==
label
)
sym
->
pool
->
mark
=
1
;
/* If we didn't find it, there's something truly wrong here, but it
will be announced by the assembler. */
}
}
static
void
...
...
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