projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- Split bearch.h correctly into bearch.h and bearch_t.h
[libfirm]
/
ir
/
be
/
firm
/
bearch_firm.c
diff --git
a/ir/be/firm/bearch_firm.c
b/ir/be/firm/bearch_firm.c
index
f940b56
..
a808ad8
100644
(file)
--- a/
ir/be/firm/bearch_firm.c
+++ b/
ir/be/firm/bearch_firm.c
@@
-1,4
+1,3
@@
-
/**
* ISA implementation for Firm IR nodes.
*/
/**
* ISA implementation for Firm IR nodes.
*/
@@
-6,10
+5,6
@@
#include "config.h"
#endif
#include "config.h"
#endif
-#ifdef WITH_LIBCORE
-#include <libcore/lc_opts.h>
-#endif
-
#include "bitset.h"
#include "obst.h"
#include "bitset.h"
#include "obst.h"
@@
-23,7
+18,7
@@
#include "irtools.h"
#include "../be_t.h"
#include "irtools.h"
#include "../be_t.h"
-#include "../bearch.h"
+#include "../bearch
_t
.h"
#include "../besched.h"
#include "../beutil.h"
#include "../beabi.h"
#include "../besched.h"
#include "../beutil.h"
#include "../beabi.h"
@@
-254,20
+249,17
@@
static void firm_get_call_abi(const void *self, ir_type *method_type, be_abi_cal
static const arch_register_req_t firm_std_reg_req = {
arch_register_req_type_normal,
®_classes[CLS_DATAB],
static const arch_register_req_t firm_std_reg_req = {
arch_register_req_type_normal,
®_classes[CLS_DATAB],
-
NULL
,
- NULL
+
0
,
+ 0
};
static const arch_register_req_t *
};
static const arch_register_req_t *
-firm_get_irn_reg_req(const void *self,
- arch_register_req_t *req, const ir_node *irn, int pos)
+firm_get_irn_reg_req(const void *self, const ir_node *irn, int pos)
{
if(is_firm_be_mode(get_irn_mode(irn)))
{
if(is_firm_be_mode(get_irn_mode(irn)))
- memcpy(req, &firm_std_reg_req, sizeof(*req));
- else
- req = NULL;
+ return &firm_std_reg_req;
- return
req
;
+ return
NULL
;
}
struct irn_reg_assoc {
}
struct irn_reg_assoc {
@@
-357,12
+349,12
@@
static void firm_set_stack_bias(const void *self, ir_node *irn, int bias)
{
}
{
}
-static entity *firm_get_frame_entity(const void *self, const ir_node *irn)
+static
ir_
entity *firm_get_frame_entity(const void *self, const ir_node *irn)
{
return NULL;
}
{
return NULL;
}
-static void firm_set_frame_entity(const void *self,
const ir_node *irn,
entity *ent)
+static void firm_set_frame_entity(const void *self,
ir_node *irn, ir_
entity *ent)
{
}
{
}
@@
-434,7
+426,7
@@
static ir_node *new_Imm(ir_graph *irg, ir_node *bl, ir_node *cnst) {
static void prepare_walker(ir_node *irn, void *data)
{
static void prepare_walker(ir_node *irn, void *data)
{
- opcode opc = get_irn_opcode(irn);
+
ir_
opcode opc = get_irn_opcode(irn);
/* A replacement for this node has already been computed. */
if(get_irn_link(irn))
/* A replacement for this node has already been computed. */
if(get_irn_link(irn))
@@
-491,8
+483,8
@@
static void localize_const_walker(ir_node *irn, void *data)
ir_node *bl = get_nodes_block(irn);
for(i = 0, n = get_irn_arity(irn); i < n; ++i) {
ir_node *bl = get_nodes_block(irn);
for(i = 0, n = get_irn_arity(irn); i < n; ++i) {
- ir_node *op
= get_irn_n(irn, i);
-
opcode opc
= get_irn_opcode(op);
+ ir_node *op = get_irn_n(irn, i);
+
ir_opcode opc
= get_irn_opcode(op);
if(opc == iro_Const
|| opc == iro_Unknown
if(opc == iro_Const
|| opc == iro_Unknown
@@
-572,23
+564,24
@@
static void firm_codegen_done(void *self)
free(self);
}
free(self);
}
-static void *firm_cg_init(
const
be_irg_t *birg);
+static void *firm_cg_init(be_irg_t *birg);
static const arch_code_generator_if_t firm_code_gen_if = {
firm_cg_init,
NULL,
firm_prepare_graph,
static const arch_code_generator_if_t firm_code_gen_if = {
firm_cg_init,
NULL,
firm_prepare_graph,
+ NULL, /* spill */
firm_before_sched,
firm_before_ra,
firm_after_ra,
firm_codegen_done
};
firm_before_sched,
firm_before_ra,
firm_after_ra,
firm_codegen_done
};
-static void *firm_cg_init(
const
be_irg_t *birg)
+static void *firm_cg_init(be_irg_t *birg)
{
firm_code_gen_t *cg = xmalloc(sizeof(*cg));
cg->impl = &firm_code_gen_if;
{
firm_code_gen_t *cg = xmalloc(sizeof(*cg));
cg->impl = &firm_code_gen_if;
- cg->irg = b
irg->irg
;
+ cg->irg = b
e_get_birg_irg(birg)
;
return cg;
}
return cg;
}
@@
-602,6
+595,10
@@
static const list_sched_selector_t *firm_get_list_sched_selector(const void *sel
return trivial_selector;
}
return trivial_selector;
}
+static const ilp_sched_selector_t *firm_get_ilp_sched_selector(const void *self) {
+ return NULL;
+}
+
/**
* Returns the necessary byte alignment for storing a register of given class.
*/
/**
* Returns the necessary byte alignment for storing a register of given class.
*/
@@
-622,6
+619,13
@@
static const be_machine_t *firm_get_machine(const void *self) {
return NULL;
}
return NULL;
}
+/**
+ * Return irp irgs in the desired order.
+ */
+static ir_graph **firm_get_irg_list(const void *self, ir_graph ***irg_list) {
+ return NULL;
+}
+
/**
* Returns the libFirm configuration parameter for this backend.
*/
/**
* Returns the libFirm configuration parameter for this backend.
*/
@@
-646,12
+650,6
@@
static const backend_params *firm_get_libfirm_params(void) {
return &p;
}
return &p;
}
-#ifdef WITH_LIBCORE
-static void firm_register_options(lc_opt_entry_t *ent)
-{
-}
-#endif
-
const arch_isa_if_t firm_isa = {
firm_init,
firm_done,
const arch_isa_if_t firm_isa = {
firm_init,
firm_done,
@@
-662,11
+660,10
@@
const arch_isa_if_t firm_isa = {
firm_get_irn_handler,
firm_get_code_generator_if,
firm_get_list_sched_selector,
firm_get_irn_handler,
firm_get_code_generator_if,
firm_get_list_sched_selector,
+ firm_get_ilp_sched_selector,
firm_get_reg_class_alignment,
firm_get_libfirm_params,
firm_get_allowed_execution_units,
firm_get_machine,
firm_get_reg_class_alignment,
firm_get_libfirm_params,
firm_get_allowed_execution_units,
firm_get_machine,
-#ifdef WITH_LIBCORE
- firm_register_options,
-#endif
+ firm_get_irg_list,
};
};