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
5a566bed
Commit
5a566bed
authored
May 16, 2002
by
Mark Mitchell
Committed by
Mark Mitchell
May 16, 2002
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
From-SVN: r53521
parent
48f6efae
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
18 additions
and
5 deletions
+18
-5
gcc/ChangeLog
+4
-0
gcc/cfgrtl.c
+14
-5
No files found.
gcc/ChangeLog
View file @
5a566bed
2002-05-16 Mark Mitchell <mark@codesourcery.com>
* cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
2002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
* config/arm/arm.c (arm_rtx_costs): Check for RTX being a
...
...
gcc/cfgrtl.c
View file @
5a566bed
...
...
@@ -2186,17 +2186,26 @@ purge_dead_edges (bb)
e
->
flags
&=
~
EDGE_ABNORMAL
;
/* Check purposes we can have edge. */
if
((
e
->
flags
&
EDGE_FALLTHRU
)
&&
any_condjump_p
(
insn
))
/* See if this edge is one we should keep. */
if
((
e
->
flags
&
EDGE_FALLTHRU
)
&&
any_condjump_p
(
insn
))
/* A conditional jump can fall through into the next
block, so we should keep the edge. */
continue
;
else
if
(
e
->
dest
!=
EXIT_BLOCK_PTR
&&
e
->
dest
->
head
==
JUMP_LABEL
(
insn
))
/* If the destination block is the target of the jump,
keep the edge. */
continue
;
else
if
(
e
->
dest
==
EXIT_BLOCK_PTR
&&
returnjump_p
(
insn
))
/* If the destination block is the exit block, and this
instruction is a return, then keep the edge. */
continue
;
else
if
(
e
->
dest
==
EXIT_BLOCK_PTR
&&
returnjump_p
(
insn
))
else
if
((
e
->
flags
&
EDGE_EH
)
&&
can_throw_internal
(
insn
))
/* Keep the edges that correspond to exceptions thrown by
this instruction. */
continue
;
/* We do not need this edge. */
bb
->
flags
|=
BB_DIRTY
;
purged
=
true
;
remove_edge
(
e
);
...
...
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