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
7213344d
Commit
7213344d
authored
Jul 15, 2009
by
yb9976
Browse files
condeval is called jump threading now
[r26280]
parent
d1c902c9
Changes
13
Hide whitespace changes
Inline
Side-by-side
include/libfirm/dbginfo.h
View file @
7213344d
...
...
@@ -87,7 +87,7 @@ typedef enum {
dbg_opt_confirm
,
/**< A Firm subgraph was replace because of a Confirmation. */
dbg_gvn_pre
,
/**< A Firm node was replace because of the GVN-PRE algorithm. */
dbg_combo
,
/**< A Firm node was replace because of the combo algorithm. */
dbg_
cond_eval
,
/**< A Firm node was replace because of the
conditional evaluation
algorithm. */
dbg_
jumpthreading
,
/**< A Firm node was replace because of the
jumpthreading
algorithm. */
dbg_backend
,
/**< A Firm subgraph was replaced because of a Backend transformation */
dbg_max
/**< Maximum value. */
}
dbg_action
;
...
...
include/libfirm/firmstat.h
View file @
7213344d
...
...
@@ -123,7 +123,7 @@ enum firmstat_optimizations_t {
FS_OPT_COMBO_CF
,
/**< Combo: removed conditional control flow */
FS_OPT_COMBO_FOLLOWER
,
/**< Combo: replaced a follower */
FS_OPT_COMBO_CONGRUENT
,
/**< Combo: replaced by congruent */
FS_OPT_
COND_EVAL
,
/**<
Conditional evaluation
: removed conditional control flow */
FS_OPT_
JUMPTHREADING
,
/**<
Jump threading
: removed conditional control flow */
FS_OPT_RTS_ABS
,
/**< RTS optimization: call to abs() replaced */
FS_OPT_RTS_ALLOCA
,
/**< RTS optimization: call to alloca() replaced */
FS_OPT_RTS_SQRT
,
/**< RTS optimization: call to sqrt() replaced */
...
...
include/libfirm/iropt_dbg.h
View file @
7213344d
...
...
@@ -417,15 +417,15 @@
} while(0)
/**
* Merge the debug info due to a
cond eval
result.
* Merge the debug info due to a
jump threading
result.
*
* @param oldn the old control flow node
* @param n the new control flow node replacing oldn
*/
#define DBG_OPT_
COND_EVAL
(oldn, n) \
#define DBG_OPT_
JUMPTHREADING
(oldn, n) \
do { \
hook_merge_nodes(&n, 1, &oldn, 1, FS_OPT_
COND_EVAL
); \
__dbg_info_merge_pair(n, oldn, dbg_
cond_eval
); \
hook_merge_nodes(&n, 1, &oldn, 1, FS_OPT_
JUMPTHREADING
); \
__dbg_info_merge_pair(n, oldn, dbg_
jumpthreading
); \
} while(0)
#endif
ir/Makefile.am
View file @
7213344d
...
...
@@ -203,7 +203,7 @@ libfirm_la_SOURCES = \
opt/cfopt.c
\
opt/code_placement.c
\
opt/combo.c
\
opt/
condeval
.c
\
opt/
jumpthreading
.c
\
opt/convopt.c
\
opt/critical_edges.c
\
opt/escape_ana.c
\
...
...
ir/be/beirgmod.c
View file @
7213344d
...
...
@@ -214,8 +214,8 @@ static void remove_empty_block(ir_node *block)
continue
;
}
/* we simply kill Pins, because there are some strange interactions
* between
condeval
, which produce PhiMs with Pins, we simply
kill
* the pins here, everything is scheduled anyway */
* between
jump threading
, which produce PhiMs with Pins, we simply
*
kill
the pins here, everything is scheduled anyway */
if
(
is_Pin
(
node
))
{
exchange
(
node
,
get_Pin_op
(
node
));
continue
;
...
...
ir/debug/dbginfo.c
View file @
7213344d
...
...
@@ -69,7 +69,7 @@ const char *dbg_action_2_str(dbg_action a) {
CASE
(
dbg_opt_confirm
);
CASE
(
dbg_gvn_pre
);
CASE
(
dbg_combo
);
CASE
(
dbg_
cond_eval
);
CASE
(
dbg_
jumpthreading
);
CASE
(
dbg_backend
);
default:
if
(
a
<=
dbg_max
)
...
...
ir/ir/iropt.c
View file @
7213344d
...
...
@@ -429,7 +429,7 @@ static tarval *computed_value_Mux(const ir_node *n) {
static
tarval
*
computed_value_Confirm
(
const
ir_node
*
n
)
{
/*
* Beware: we might produce Phi(Confirm(x == true), Confirm(x == false)).
* Do NOT optimize them away (
CondEval
wants them), so wait until
* Do NOT optimize them away (
jump threading
wants them), so wait until
* remove_confirm is activated.
*/
if
(
get_opt_remove_confirm
())
{
...
...
ir/opt/combo.c
View file @
7213344d
...
...
@@ -1964,7 +1964,7 @@ static void compute_Unknown(node_t *node) {
* It would be safe to compute Top IF it can be assured, that only Cmp
* nodes are inputs to Conds. We check that first.
* This is the way Frontends typically build Firm, but some optimizations
* (
cond_eval
for instance) might replace them by Phib's...
* (
jump threading
for instance) might replace them by Phib's...
*/
node
->
type
.
tv
=
tarval_UNKNOWN
;
}
/* compute_Unknown */
...
...
ir/opt/jumpthreading.c
View file @
7213344d
...
...
@@ -430,7 +430,7 @@ static ir_node *find_const_or_confirm(jumpthreading_env_t *env, ir_node *jump,
DB
((
dbg
,
LEVEL_1
,
"> Found
condition evaluation
candidate %+F->%+F
\n
"
,
"> Found
jump threading
candidate %+F->%+F
\n
"
,
env
->
true_block
,
block
));
...
...
@@ -496,7 +496,7 @@ static ir_node *find_candidate(jumpthreading_env_t *env, ir_node *jump,
DB
((
dbg
,
LEVEL_1
,
"> Found
condition evaluation
candidate %+F->%+F
\n
"
,
"> Found
jump threading
candidate %+F->%+F
\n
"
,
env
->
true_block
,
block
));
...
...
@@ -671,7 +671,7 @@ static void thread_jumps(ir_node* block, void* data)
}
else
if
(
selector_evaluated
==
1
)
{
dbg_info
*
dbgi
=
get_irn_dbg_info
(
selector
);
ir_node
*
jmp
=
new_rd_Jmp
(
dbgi
,
get_nodes_block
(
projx
));
DBG_OPT_
COND_EVAL
(
projx
,
jmp
);
DBG_OPT_
JUMPTHREADING
(
projx
,
jmp
);
exchange
(
projx
,
jmp
);
*
changed
=
1
;
return
;
...
...
ir/stat/stat_dmp.c
View file @
7213344d
...
...
@@ -140,7 +140,7 @@ static const struct {
{
FS_OPT_COMBO_CF
,
"Combo: removed conditional control flow"
},
{
FS_OPT_COMBO_FOLLOWER
,
"Combo: removed a follower"
},
{
FS_OPT_COMBO_CONGRUENT
,
"Combo: replaced by congruent"
},
{
FS_OPT_
COND_EVAL
,
"Conditional evaluation
: removed conditional control flow"
},
{
FS_OPT_
JUMPTHREADING
,
"Jump threading
: removed conditional control flow"
},
{
FS_OPT_RTS_ABS
,
"RTS optimization: call to abs() replaced"
},
{
FS_OPT_RTS_ALLOCA
,
"RTS optimization: call to alloca() replaced"
},
{
FS_OPT_RTS_SQRT
,
"RTS optimization: call to sqrt() replaced"
},
...
...
vc2005/libfirm.vcproj
View file @
7213344d
...
...
@@ -5068,7 +5068,7 @@
>
</File>
<File
RelativePath=
"..\ir\opt\
condeval
.c"
RelativePath=
"..\ir\opt\
jumpthreading
.c"
>
</File>
<File
...
...
win32/header.list
View file @
7213344d
...
...
@@ -91,7 +91,7 @@ ir\opt\proc_cloning.h
ir\opt\opt_confirms.h
ir\opt\opt_frame.h
ir\opt\opt_osr.h
ir\opt\
condeval
.h
ir\opt\
jumpthreading
.h
ir\tr\entity.h
ir\tr\mangle.h
...
...
win32/libfirm.dsp
View file @
7213344d
...
...
@@ -5,17 +5,17 @@
# TARGTYPE "Win32 (x86) Static Library" 0x0104
CFG=libfirm - Win32 Debug
!MESSAGE Dies ist kein gltiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und fhren Sie den Befehl
!MESSAGE Dies ist kein g
�
ltiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und f
�
hren Sie den Befehl
!MESSAGE
!MESSAGE NMAKE /f "libfirm.mak".
!MESSAGE
!MESSAGE Sie knnen beim Ausfhren von NMAKE eine Konfiguration angeben
!MESSAGE Sie k
�
nnen beim Ausf
�
hren von NMAKE eine Konfiguration angeben
!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
!MESSAGE
!MESSAGE NMAKE /f "libfirm.mak" CFG="libfirm - Win32 Debug"
!MESSAGE
!MESSAGE Fr die Konfiguration stehen zur Auswahl:
!MESSAGE F
�
r die Konfiguration stehen zur Auswahl:
!MESSAGE
!MESSAGE "libfirm - Win32 Release" (basierend auf "Win32 (x86) Static Library")
!MESSAGE "libfirm - Win32 Debug" (basierend auf "Win32 (x86) Static Library")
...
...
@@ -2091,7 +2091,7 @@ SOURCE=..\ir\opt\code_placement.c
# End Source File
# Begin Source File
SOURCE=..\ir\opt\
condeval
.c
SOURCE=..\ir\opt\
jumpthreading
.c
# End Source File
# Begin Source File
...
...
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