projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Do not mark the transformed as visited. It makes no sense at all.
[libfirm]
/
ir
/
be
/
bespillremat.c
diff --git
a/ir/be/bespillremat.c
b/ir/be/bespillremat.c
index
9a12896
..
7a5fb02
100644
(file)
--- a/
ir/be/bespillremat.c
+++ b/
ir/be/bespillremat.c
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (C) 1995-200
7
University of Karlsruhe. All right reserved.
+ * Copyright (C) 1995-200
8
University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
*
* This file is part of libFirm.
*
@@
-51,6
+51,7
@@
#include "execfreq.h"
#include "irvrfy.h"
#include "irbackedge_t.h"
#include "execfreq.h"
#include "irvrfy.h"
#include "irbackedge_t.h"
+#include "irprofile.h"
#include <lpp/lpp.h>
#include <lpp/mps.h>
#include <lpp/lpp.h>
#include <lpp/mps.h>
@@
-70,13
+71,12
@@
#include "bespillremat.h"
#include "bespill.h"
#include "bepressurestat.h"
#include "bespillremat.h"
#include "bespill.h"
#include "bepressurestat.h"
-#include "beprofile.h"
#include "bespilloptions.h"
#include "bechordal_t.h"
#include "bemodule.h"
#include "bespilloptions.h"
#include "bechordal_t.h"
#include "bemodule.h"
-#include
<libcore/lc_opts.h>
-#include
<libcore/lc_opts_enum.h>
+#include
"lc_opts.h"
+#include
"lc_opts_enum.h"
#define DUMP_PROBLEM 1
#define DUMP_MPS 2
#define DUMP_PROBLEM 1
#define DUMP_MPS 2
@@
-440,11
+440,11
@@
static double
execution_frequency(const spill_ilp_t *si, const ir_node * irn)
{
#define FUDGE 0.001
execution_frequency(const spill_ilp_t *si, const ir_node * irn)
{
#define FUDGE 0.001
- if(
be
_profile_has_data())
- return ((double)
be_profile_get_block_execcount(get_block
(irn))) + FUDGE;
+ if(
ir
_profile_has_data())
+ return ((double)
ir_profile_get_block_execcount(get_block_const
(irn))) + FUDGE;
#ifndef EXECFREQ_LOOPDEPH
#ifndef EXECFREQ_LOOPDEPH
- return get_block_execfreq(si->birg->exec_freq, get_block(irn)) + FUDGE;
+ return get_block_execfreq(si->birg->exec_freq, get_block
_const
(irn)) + FUDGE;
#else
if(is_Block(irn))
return exp(get_loop_depth(get_irn_loop(irn)) * log(10)) + FUDGE;
#else
if(is_Block(irn))
return exp(get_loop_depth(get_irn_loop(irn)) * log(10)) + FUDGE;
@@
-482,7
+482,7
@@
is_rematerializable(const spill_ilp_t * si, const ir_node * irn)
for (n = get_irn_arity(irn)-1; n>=0 && remat; --n) {
ir_node *op = get_irn_n(irn, n);
for (n = get_irn_arity(irn)-1; n>=0 && remat; --n) {
ir_node *op = get_irn_n(irn, n);
- remat &= has_reg_class(si, op) || arch_irn_get_flags(arch_env, op) & arch_irn_flags_ignore ||
(get_irn_op(op) == op_NoMem
);
+ remat &= has_reg_class(si, op) || arch_irn_get_flags(arch_env, op) & arch_irn_flags_ignore ||
is_NoMem(op
);
// if(!remat)
// ir_fprintf(stderr, " Argument %d (%+F) of Node %+F has wrong regclass\n", i, op, irn);
// if(!remat)
// ir_fprintf(stderr, " Argument %d (%+F) of Node %+F has wrong regclass\n", i, op, irn);
@@
-3247,6
+3247,9
@@
is_zero(double x)
return fabs(x) < 0.00001;
}
return fabs(x) < 0.00001;
}
+/**
+ * node attribute hook for changing colors
+ */
static int mark_remat_nodes_hook(FILE *F, ir_node *n, ir_node *l)
{
spill_ilp_t *si = get_irg_link(current_ir_graph);
static int mark_remat_nodes_hook(FILE *F, ir_node *n, ir_node *l)
{
spill_ilp_t *si = get_irg_link(current_ir_graph);
@@
-3601,7
+3604,7
@@
new_r_PhiM_nokeep(ir_graph * irg, ir_node *block, int arity, ir_node **in)
assert( get_irn_arity(block) == arity );
res = new_ir_node(NULL, irg, block, op_Phi, mode_M, arity, in);
assert( get_irn_arity(block) == arity );
res = new_ir_node(NULL, irg, block, op_Phi, mode_M, arity, in);
- res->attr.phi
_
backedge = new_backedge_arr(irg->obst, arity);
+ res->attr.phi
.u.
backedge = new_backedge_arr(irg->obst, arity);
return res;
}
return res;
}
@@
-4422,7
+4425,6
@@
be_spill_remat(be_irg_t *birg, const arch_register_class_t *cls)
if(opt_verify & VERIFY_DOMINANCE)
be_check_dominance(irg);
if(opt_verify & VERIFY_DOMINANCE)
be_check_dominance(irg);
- be_assure_dom_front(birg);
be_assure_liveness(birg);
obstack_init(&obst);
be_assure_liveness(birg);
obstack_init(&obst);
@@
-4617,8
+4619,8
@@
BE_REGISTER_MODULE_CONSTRUCTOR(be_init_spillremat);
#else /* WITH_ILP */
#else /* WITH_ILP */
-static
void INLINE
-only_that_you_can_compile_without_WITH_ILP_defined(void)
+static
__attribute__((unused))
+
void
only_that_you_can_compile_without_WITH_ILP_defined(void)
{
}
{
}