Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Zwinkau
libfirm
Commits
3126de0e
Commit
3126de0e
authored
Dec 11, 2015
by
yb9976
Browse files
Use ir_throws_exception() instead of searching an exception Proj.
parent
77528c1c
Changes
1
Show whitespace changes
Inline
Side-by-side
ir/opt/opt_inline.c
View file @
3126de0e
...
...
@@ -344,18 +344,6 @@ static bool inline_method(ir_node *const call, ir_graph *called_graph)
clear_irg_properties
(
irg
,
IR_GRAPH_PROPERTY_CONSISTENT_ENTITY_USAGE
);
edges_deactivate
(
irg
);
/* Decide how to handle exception control flow: Is there a handler
for the Call node, or do we branch directly to End on an exception? */
bool
has_exception
=
false
;
for
(
ir_node
*
proj
=
(
ir_node
*
)
get_irn_link
(
call
);
proj
!=
NULL
;
proj
=
(
ir_node
*
)
get_irn_link
(
proj
))
{
unsigned
proj_nr
=
get_Proj_num
(
proj
);
if
(
proj_nr
==
pn_Call_X_except
)
{
has_exception
=
true
;
break
;
}
}
/* entity link is used to link entities on old stack frame to the
* new stack frame */
irp_reserve_resources
(
irp
,
IRP_RESOURCE_ENTITY_LINK
);
...
...
@@ -567,7 +555,7 @@ static bool inline_method(ir_node *const call, ir_graph *called_graph)
branches to the End node.
*/
ir_node
*
call_x_exc
;
if
(
ha
s_exception
)
{
if
(
ir_throw
s_exception
(
call
)
)
{
int
n_exc
=
0
;
for
(
int
i
=
0
;
i
<
arity
;
i
++
)
{
ir_node
*
ret
=
get_Block_cfgpred
(
end_bl
,
i
);
...
...
Write
Preview
Supports
Markdown
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