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
5c5e36c5
Commit
5c5e36c5
authored
Feb 11, 1994
by
Richard Kenner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(mark_jump_label, case LABEL_REF): Update REG_LABEL note if changing
target of jump. From-SVN: r6533
parent
b67b29cd
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
2 deletions
+18
-2
gcc/jump.c
+18
-2
No files found.
gcc/jump.c
View file @
5c5e36c5
...
@@ -3014,13 +3014,18 @@ mark_jump_label (x, insn, cross_jump)
...
@@ -3014,13 +3014,18 @@ mark_jump_label (x, insn, cross_jump)
case
LABEL_REF
:
case
LABEL_REF
:
{
{
register
rtx
label
=
XEXP
(
x
,
0
);
rtx
label
=
XEXP
(
x
,
0
);
register
rtx
next
;
rtx
olabel
=
label
;
rtx
note
;
rtx
next
;
if
(
GET_CODE
(
label
)
!=
CODE_LABEL
)
if
(
GET_CODE
(
label
)
!=
CODE_LABEL
)
abort
();
abort
();
/* Ignore references to labels of containing functions. */
/* Ignore references to labels of containing functions. */
if
(
LABEL_REF_NONLOCAL_P
(
x
))
if
(
LABEL_REF_NONLOCAL_P
(
x
))
break
;
break
;
/* If there are other labels following this one,
/* If there are other labels following this one,
replace it with the last of the consecutive labels. */
replace it with the last of the consecutive labels. */
for
(
next
=
NEXT_INSN
(
label
);
next
;
next
=
NEXT_INSN
(
next
))
for
(
next
=
NEXT_INSN
(
label
);
next
;
next
=
NEXT_INSN
(
next
))
...
@@ -3038,12 +3043,23 @@ mark_jump_label (x, insn, cross_jump)
...
@@ -3038,12 +3043,23 @@ mark_jump_label (x, insn, cross_jump)
||
NOTE_LINE_NUMBER
(
next
)
==
NOTE_INSN_FUNCTION_END
))
||
NOTE_LINE_NUMBER
(
next
)
==
NOTE_INSN_FUNCTION_END
))
break
;
break
;
}
}
XEXP
(
x
,
0
)
=
label
;
XEXP
(
x
,
0
)
=
label
;
++
LABEL_NUSES
(
label
);
++
LABEL_NUSES
(
label
);
if
(
insn
)
if
(
insn
)
{
{
if
(
GET_CODE
(
insn
)
==
JUMP_INSN
)
if
(
GET_CODE
(
insn
)
==
JUMP_INSN
)
JUMP_LABEL
(
insn
)
=
label
;
JUMP_LABEL
(
insn
)
=
label
;
/* If we've changed OLABEL and we had a REG_LABEL note
for it, update it as well. */
else
if
(
label
!=
olabel
&&
(
note
=
find_reg_note
(
insn
,
REG_LABEL
,
olabel
))
!=
0
)
XEXP
(
note
,
0
)
=
label
;
/* Otherwise, add a REG_LABEL note for LABEL unless there already
is one. */
else
if
(
!
find_reg_note
(
insn
,
REG_LABEL
,
label
))
else
if
(
!
find_reg_note
(
insn
,
REG_LABEL
,
label
))
{
{
rtx
next
=
next_real_insn
(
label
);
rtx
next
=
next_real_insn
(
label
);
...
...
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