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
8fb1e50e
Commit
8fb1e50e
authored
Nov 07, 2001
by
Graham Stott
Committed by
Graham Stott
Nov 07, 2001
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* cse.c (cse_insn): Emit BARRIER after unconditional jump.
From-SVN: r46824
parent
b972dd02
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
5 deletions
+17
-5
gcc/ChangeLog
+4
-0
gcc/cse.c
+13
-5
No files found.
gcc/ChangeLog
View file @
8fb1e50e
2001
-
11
-
07
Graham
Stott
<
grahams
@redhat
.
com
>
*
cse
.
c
(
cse_insn
)
:
Emit
BARRIER
after
unconditional
jump
.
Wed
Nov
7
13
:
33
:
34
CET
2001
Jan
Hubicka
<
jh
@suse
.
cz
>
*
expmed
.
c
(
expand_mult
)
:
Force
operand
to
register
before
computing
...
...
gcc/cse.c
View file @
8fb1e50e
...
...
@@ -5767,6 +5767,11 @@ cse_insn (insn, libcall_insn)
be a conditional or computed branch. */
else
if
(
dest
==
pc_rtx
&&
GET_CODE
(
src
)
==
LABEL_REF
)
{
/* Now emit a BARRIER after the unconditional jump. */
if
(
NEXT_INSN
(
insn
)
==
0
||
GET_CODE
(
NEXT_INSN
(
insn
))
!=
BARRIER
)
emit_barrier_after
(
insn
);
/* We reemit the jump in as many cases as possible just in
case the form of an unconditional jump is significantly
different than a computed jump or conditional jump.
...
...
@@ -5777,20 +5782,23 @@ cse_insn (insn, libcall_insn)
if
(
n_sets
==
1
)
{
rtx
new
=
emit_jump_insn_before
(
gen_jump
(
XEXP
(
src
,
0
)),
insn
);
JUMP_LABEL
(
new
)
=
XEXP
(
src
,
0
);
LABEL_NUSES
(
XEXP
(
src
,
0
))
++
;
insn
=
new
;
/* Now emit a BARRIER after the unconditional jump. */
if
(
NEXT_INSN
(
insn
)
==
0
||
GET_CODE
(
NEXT_INSN
(
insn
))
!=
BARRIER
)
emit_barrier_after
(
insn
);
}
else
INSN_CODE
(
insn
)
=
-
1
;
never_reached_warning
(
insn
);
/* Now emit a BARRIER after the unconditional jump. Do not bother
deleting any unreachable code, let jump/flow do that. */
if
(
NEXT_INSN
(
insn
)
!=
0
&&
GET_CODE
(
NEXT_INSN
(
insn
))
!=
BARRIER
)
emit_barrier_after
(
insn
);
/* Do not bother deleting any unreachable code,
let jump/flow do that. */
cse_jumps_altered
=
1
;
sets
[
i
].
rtl
=
0
;
...
...
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