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
978df701
Commit
978df701
authored
Jun 10, 2011
by
Andreas Zwinkau
Browse files
improve jumpthreading comments
parent
763b7a16
Changes
1
Show whitespace changes
Inline
Side-by-side
ir/opt/jumpthreading.c
View file @
978df701
...
...
@@ -60,7 +60,7 @@ static void add_pred(ir_node* node, ir_node* x)
int
n
;
int
i
;
assert
(
is_Block
(
node
)
||
is_Phi
(
node
)
);
assert
(
is_Block
(
node
));
n
=
get_irn_arity
(
node
);
NEW_ARR_A
(
ir_node
*
,
ins
,
n
+
1
);
...
...
@@ -194,6 +194,16 @@ static void construct_ssa(ir_node *orig_block, ir_node *orig_val,
}
}
/**
* jumpthreading produces critical edges, e.g. B-C:
* A A
* \ / \ |
* B => B |
* / \ / \|
* C C
*
* By splitting this critical edge more threadings might be possible.
*/
static
void
split_critical_edge
(
ir_node
*
block
,
int
pos
)
{
ir_graph
*
irg
=
get_irn_irg
(
block
);
...
...
@@ -634,6 +644,7 @@ static void thread_jumps(ir_node* block, void* data)
ir_node
*
badX
;
int
cnst_pos
;
/* we do not deal with Phis, so restrict this to exactly one cfgpred */
if
(
get_Block_n_cfgpreds
(
block
)
!=
1
)
return
;
...
...
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