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
854e2559
Commit
854e2559
authored
Apr 12, 2010
by
Michael Beck
Browse files
Add pass constructor C99 feature removed.
[r27381]
parent
d56c188c
Changes
2
Hide whitespace changes
Inline
Side-by-side
include/libfirm/iroptimize.h
View file @
854e2559
...
...
@@ -1083,4 +1083,17 @@ ir_graph_pass_t *place_code_pass(const char *name);
*/
void
fixpoint_vrp
(
ir_graph
*
);
/**
* Creates an ir_graph pass for fixpoint_vrp().
* This pass dDetermines information about the values of nodes
* and perform simplications using this information.
* This optimization performs a data-flow analysis to
* find the minimal fixpoint.
*
* @param name the name of this pass or NULL
*
* @return the newly created ir_graph pass
*/
ir_graph_pass_t
*
fixpoint_vrp_irg_pass
(
const
char
*
name
);
#endif
ir/opt/fp-vrp.c
View file @
854e2559
...
...
@@ -40,6 +40,7 @@
#include "iroptimize.h"
#include "irtools.h"
#include "tv.h"
#include "irpass.h"
/* TODO:
* - Implement cleared/set bit calculation for Add, Sub, Minus, Mul, Div, Mod, Shl, Shr, Shrs, Rotl
...
...
@@ -314,8 +315,8 @@ result_unknown_X:
* range the addition is disjoint and therefore Add behaves like Or.
*/
tarval
*
const
low_zero_mask
=
tarval_or
(
no_c_in_no_c_out
,
tarval_neg
(
no_c_in_no_c_out
));
z
=
tarval_or
(
tarval_or
(
lz
,
rz
),
low_zero_mask
);
tarval
*
const
low_one_mask
=
tarval_not
(
low_zero_mask
);
z
=
tarval_or
(
tarval_or
(
lz
,
rz
),
low_zero_mask
);
o
=
tarval_and
(
tarval_or
(
lo
,
ro
),
low_one_mask
);
}
break
;
...
...
@@ -684,3 +685,8 @@ void fixpoint_vrp(ir_graph* const irg)
obstack_free
(
&
obst
,
NULL
);
}
ir_graph_pass_t
*
fixpoint_vrp_irg_pass
(
const
char
*
name
)
{
return
def_graph_pass
(
name
?
name
:
"fixpoint_vrp"
,
fixpoint_vrp
);
}
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