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
e7248c74
Commit
e7248c74
authored
Jun 15, 2005
by
Götz Lindenmaier
Browse files
comments
[r6009]
parent
217c4f3a
Changes
5
Hide whitespace changes
Inline
Side-by-side
ir/adt/pdeq.h
View file @
e7248c74
...
...
@@ -121,7 +121,7 @@ void **pdeq_copyl(pdeq *qp, const void **dst);
void
**
pdeq_copyr
(
pdeq
*
qp
,
const
void
**
dst
);
/**
* Add a pointer to the left si
t
e of a double ended pointer list.
* Add a pointer to the left si
d
e of a double ended pointer list.
*
* @param dq The list to add a pointer to.
* @param x The pointer element to be added
...
...
@@ -131,7 +131,7 @@ void **pdeq_copyr(pdeq *qp, const void **dst);
pdeq
*
pdeq_putl
(
pdeq
*
dq
,
const
void
*
x
);
/**
* Add a pointer to the right si
t
e of a double ended pointer list.
* Add a pointer to the right si
d
e of a double ended pointer list.
*
* @param dq The list to add a pointer to.
* @param x The pointer element to be added
...
...
ir/adt/pset.h
View file @
e7248c74
...
...
@@ -149,6 +149,7 @@ pset_entry *pset_hinsert (pset *pset, const void *key, unsigned hash);
*
* @remark
* The current implementation did not allow to remove non-existing elements.
* @@@ so, does it do now?
* Further, it is allowed to remove elements during an iteration
* including the current one.
*/
...
...
ir/ana/callgraph.c
View file @
e7248c74
...
...
@@ -145,7 +145,7 @@ int get_irg_callee_loop_depth(ir_graph *irg, int pos) {
double
get_irg_callee_execution_freqency
(
ir_graph
*
irg
,
int
pos
)
{
double
get_irg_callee_execution_freq
u
ency
(
ir_graph
*
irg
,
int
pos
)
{
ir_node
**
arr
=
((
ana_entry
*
)
irg
->
callees
[
pos
])
->
call_list
;
int
i
,
n_Calls
=
ARR_LEN
(
arr
);
double
freq
=
0
;
...
...
@@ -156,18 +156,18 @@ double get_irg_callee_execution_freqency(ir_graph *irg, int pos) {
return
freq
;
}
double
get_irg_callee_method_execution_freqency
(
ir_graph
*
irg
,
int
pos
)
{
double
call_freq
=
get_irg_callee_execution_freqency
(
irg
,
pos
);
double
get_irg_callee_method_execution_freq
u
ency
(
ir_graph
*
irg
,
int
pos
)
{
double
call_freq
=
get_irg_callee_execution_freq
u
ency
(
irg
,
pos
);
double
meth_freq
=
get_irg_method_execution_frequency
(
irg
);
return
call_freq
*
meth_freq
;
}
double
get_irg_caller_method_execution_freqency
(
ir_graph
*
irg
,
int
pos
)
{
double
get_irg_caller_method_execution_freq
u
ency
(
ir_graph
*
irg
,
int
pos
)
{
ir_graph
*
caller
=
get_irg_caller
(
irg
,
pos
);
int
pos_callee
=
reverse_pos
(
irg
,
pos
);
return
get_irg_callee_method_execution_freqency
(
caller
,
pos_callee
);
return
get_irg_callee_method_execution_freq
u
ency
(
caller
,
pos_callee
);
}
...
...
@@ -1118,8 +1118,8 @@ static void compute_rec_depth (ir_graph *irg, void *env) {
/* ----------------------------------------------------------------------------------- */
/* Another algorithm to compute the execution freqency of methods ignoring recursions. */
/* Walk the callgraph. Ignore backedges. Use sum of execution freqencies of Call */
/* Another algorithm to compute the execution freq
u
ency of methods ignoring recursions. */
/* Walk the callgraph. Ignore backedges. Use sum of execution freq
u
encies of Call */
/* nodes to evaluate a callgraph edge. */
/* ----------------------------------------------------------------------------------- */
...
...
@@ -1155,12 +1155,12 @@ static void compute_method_execution_frequency (ir_graph *irg, void *env) {
}
mark_cg_irg_visited
(
irg
);
/* Compute the new freqency. */
/* Compute the new freq
u
ency. */
freq
=
0
;
found_edge
=
0
;
for
(
i
=
0
;
i
<
n_callers
;
i
++
)
{
if
(
!
is_irg_caller_backedge
(
irg
,
i
))
{
double
edge_freq
=
get_irg_caller_method_execution_freqency
(
irg
,
i
);
double
edge_freq
=
get_irg_caller_method_execution_freq
u
ency
(
irg
,
i
);
assert
(
edge_freq
>=
0
);
freq
+=
edge_freq
;
found_edge
=
1
;
...
...
ir/ana/callgraph.h
View file @
e7248c74
...
...
@@ -100,8 +100,8 @@ void find_callgraph_recursions(void);
* path from main().
* - The recursion depth. The maximal number of recursions passed
* on all paths reaching this method.
* - The execution freqency. As loop depth, but the edge weight is the sum
* of the execution freqencies of all Calls along the edge.
* - The execution freq
u
ency. As loop depth, but the edge weight is the sum
* of the execution freq
u
encies of all Calls along the edge.
**/
void
compute_performance_estimates
(
void
);
...
...
ir/ana/cgana.c
View file @
e7248c74
...
...
@@ -71,7 +71,7 @@ static eset *entities = NULL;
/*--------------------------------------------------------------------------*/
/** Returns the entity that contains the implementation of the inherited
entity if available, else returns the entity passed. */
*
entity if available, else returns the entity passed. */
static
entity
*
get_inherited_methods_implementation
(
entity
*
inh_meth
)
{
assert
(
get_atomic_ent_value
(
inh_meth
)
&&
"constant entity without value"
);
assert
((
get_irn_op
(
get_atomic_ent_value
(
inh_meth
))
==
op_SymConst
)
&&
...
...
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