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
362c1331
Commit
362c1331
authored
Apr 29, 2007
by
Michael Beck
Browse files
updated Header
some doxygen comments added restructured [r13543]
parent
2cc9db25
Changes
4
Hide whitespace changes
Inline
Side-by-side
ir/opt/cfopt.c
View file @
362c1331
...
...
@@ -17,16 +17,12 @@
* PURPOSE.
*/
/*
* Project: libFIRM
* File name: ir/opt/cfopt.c
* Purpose: control flow optimizations
* Author:
* Created:
* CVS-ID: $Id$
* Copyright: (c) 1998-2004 Universitt Karlsruhe
/**
* @file
* @brief Control flow optimizations.
* @author Goetz Lindenmaier, Michael Beck, Sebastian Hack
* @version $Id$
*/
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
...
...
ir/opt/cfopt.h
View file @
362c1331
...
...
@@ -17,25 +17,14 @@
* PURPOSE.
*/
/*
* Project: libFIRM
* File name: ir/opt/cfopt.h
* Purpose: control flow optimizations
* Author: Goetz Lindenmaier
* Created:
* CVS-ID: $Id$
* Copyright: (c) 1998-2004 Universität Karlsruhe
*/
/**
* @file cfopt.h
*
* Control flow optimization.
*
* @author Goetz Lindenmaier
* @file
* @brief Control flow optimizations.
* @author Goetz Lindenmaier, Michael Beck, Sebastian Hack
* @version $Id$
*/
#ifndef _CFOPT_H
_
#define _CFOPT_H
_
#ifndef
FIRM_OPT
_CFOPT_H
#define
FIRM_OPT
_CFOPT_H
#include "irgraph.h"
...
...
@@ -55,4 +44,4 @@
*/
void
optimize_cf
(
ir_graph
*
irg
);
#endif
/* _CFOPT_H
_
*/
#endif
/*
FIRM_OPT
_CFOPT_H */
ir/opt/condeval.c
View file @
362c1331
...
...
@@ -17,14 +17,12 @@
* PURPOSE.
*/
/*
* Project: libFIRM
* File name: ir/opt/cfopt.c
* Purpose: Partial condition evaluation
* Author: Christoph Mallon, Matthias Braun
* Created: 10. Sep. 2006
* CVS-ID: $Id$
* Copyright: (c) 1998-2006 Universität Karlsruhe
/**
* @file
* @brief Partial condition evaluation
* @date 10. Sep. 2006
* @author Christoph Mallon, Matthias Braun
* @version $Id$
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
...
...
@@ -400,7 +398,7 @@ static ir_node *find_phi_with_const(ir_node *jump, ir_node *value, condeval_env_
/**
* Block-walker: searchs for the following construct
* Block-walker: search
e
s for the following construct
*
* Const or Phi with constants
* |
...
...
@@ -518,35 +516,40 @@ static void cond_eval(ir_node* block, void* data)
remove_pred
(
env
.
cnst_pred
,
env
.
cnst_pos
);
/
/
the graph is changed now
/
*
the graph is changed now
*/
*
changed
=
1
;
set_irg_doms_inconsistent
(
irg
);
set_irg_extblk_inconsistent
(
irg
);
set_irg_loopinfo_inconsistent
(
irg
);
}
}
}
void
opt_cond_eval
(
ir_graph
*
irg
)
{
int
changed
;
int
changed
,
rerun
;
FIRM_DBG_REGISTER
(
dbg
,
"firm.opt.condeval"
);
DB
((
dbg
,
LEVEL_1
,
"===> Performing condition evaluation on %+F
\n
"
,
irg
));
edges_assure
(
irg
);
remove_critical_cf_edges
(
irg
);
normalize_proj_nodes
(
irg
);
edges_assure
(
irg
);
set_using_irn_link
(
irg
);
set_using_visited
(
irg
);
changed
=
0
;
do
{
changed
=
0
;
irg_block_walk_graph
(
irg
,
cond_eval
,
NULL
,
&
changed
);
}
while
(
changed
);
rerun
=
0
;
irg_block_walk_graph
(
irg
,
cond_eval
,
NULL
,
&
rerun
);
changed
|=
rerun
;
}
while
(
rerun
);
if
(
changed
)
{
/* control flow changed, some blocks may become dead */
set_irg_doms_inconsistent
(
irg
);
set_irg_extblk_inconsistent
(
irg
);
set_irg_loopinfo_inconsistent
(
irg
);
}
clear_using_visited
(
irg
);
clear_using_irn_link
(
irg
);
...
...
ir/opt/condeval.h
View file @
362c1331
...
...
@@ -17,11 +17,22 @@
* PURPOSE.
*/
#ifndef FIRM_COND_EVAL_H
#define FIRM_COND_EVAL_H
/**
* @file
* @brief Partial condition evaluation
* @author Christoph Mallon, Matthias Braun
* @version $Id$
*/
#ifndef FIRM_OPT_CONDEVAL_H
#define FIRM_OPT_CONDEVAL_H
#include "ir
graph
.h"
#include "
f
ir
m_types
.h"
/**
* Perform partial conditionla evaluation on the given graph.
*
* @param irg the graph
*/
void
opt_cond_eval
(
ir_graph
*
irg
);
#endif
/* FIRM_COND
_
EVAL_H */
#endif
/* FIRM_
OPT_
CONDEVAL_H */
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