projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
be: remove remnants of machine description
[libfirm]
/
ir
/
be
/
amd64
/
amd64_new_nodes.c
diff --git
a/ir/be/amd64/amd64_new_nodes.c
b/ir/be/amd64/amd64_new_nodes.c
index
c3f983c
..
d706867
100644
(file)
--- a/
ir/be/amd64/amd64_new_nodes.c
+++ b/
ir/be/amd64/amd64_new_nodes.c
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (C) 1995-20
08
University of Karlsruhe. All right reserved.
+ * Copyright (C) 1995-20
11
University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
*
* This file is part of libFirm.
*
@@
-22,7
+22,6
@@
* @brief This file implements the creation of the achitecture specific firm
* opcodes and the coresponding node constructors for the amd64
* assembler irg.
* @brief This file implements the creation of the achitecture specific firm
* opcodes and the coresponding node constructors for the amd64
* assembler irg.
- * @version $Id: amd64_new_nodes.c 26673 2009-10-01 16:43:13Z matze $
*/
#include "config.h"
*/
#include "config.h"
@@
-38,7
+37,7
@@
#include "irprintf.h"
#include "xmalloc.h"
#include "irprintf.h"
#include "xmalloc.h"
-#include "
../
bearch.h"
+#include "bearch.h"
#include "amd64_nodes_attr.h"
#include "amd64_new_nodes.h"
#include "amd64_nodes_attr.h"
#include "amd64_new_nodes.h"
@@
-102,10
+101,16
@@
amd64_attr_t *get_amd64_attr(ir_node *node)
const amd64_SymConst_attr_t *get_amd64_SymConst_attr_const(const ir_node *node)
{
const amd64_SymConst_attr_t *get_amd64_SymConst_attr_const(const ir_node *node)
{
- const amd64_attr_t *attr = get_amd64_attr_const(node);
- const amd64_SymConst_attr_t *sym_attr = CONST_CAST_AMD64_ATTR(amd64_SymConst_attr_t, attr);
+ const amd64_SymConst_attr_t *attr
+ = (const amd64_SymConst_attr_t*)get_irn_generic_attr_const(node);
+ return attr;
+}
- return sym_attr;
+amd64_SymConst_attr_t *get_amd64_SymConst_attr(ir_node *node)
+{
+ amd64_SymConst_attr_t *attr
+ = (amd64_SymConst_attr_t*)get_irn_generic_attr(node);
+ return attr;
}
/**
}
/**
@@
-113,7
+118,6
@@
const amd64_SymConst_attr_t *get_amd64_SymConst_attr_const(const ir_node *node)
*/
static void init_amd64_attributes(ir_node *node, arch_irn_flags_t flags,
const arch_register_req_t **in_reqs,
*/
static void init_amd64_attributes(ir_node *node, arch_irn_flags_t flags,
const arch_register_req_t **in_reqs,
- const be_execution_unit_t ***execution_units,
int n_res)
{
ir_graph *irg = get_irn_irg(node);
int n_res)
{
ir_graph *irg = get_irn_irg(node);
@@
-121,10
+125,9
@@
static void init_amd64_attributes(ir_node *node, arch_irn_flags_t flags,
amd64_attr_t *attr = get_amd64_attr(node);
backend_info_t *info;
amd64_attr_t *attr = get_amd64_attr(node);
backend_info_t *info;
- (void) execution_units;
- arch_
irn_set
_flags(node, flags);
- arch_set_i
n_register_reqs
(node, in_reqs);
+ arch_
set_irn
_flags(node, flags);
+ arch_set_i
rn_register_reqs_in
(node, in_reqs);
info = be_get_info(node);
info->out_infos = NEW_ARR_D(reg_out_info_t, obst, n_res);
info = be_get_info(node);
info->out_infos = NEW_ARR_D(reg_out_info_t, obst, n_res);
@@
-132,7
+135,7
@@
static void init_amd64_attributes(ir_node *node, arch_irn_flags_t flags,
attr->data.ins_permuted = 0;
attr->data.cmp_unsigned = 0;
attr->data.ins_permuted = 0;
attr->data.cmp_unsigned = 0;
- attr->ext.
pnc = 0
;
+ attr->ext.
relation = ir_relation_false
;
attr->ext.imm_value = 0;
}
attr->ext.imm_value = 0;
}
@@
-141,13
+144,13
@@
static void init_amd64_attributes(ir_node *node, arch_irn_flags_t flags,
*/
static void init_amd64_SymConst_attributes(ir_node *node, ir_entity *entity)
{
*/
static void init_amd64_SymConst_attributes(ir_node *node, ir_entity *entity)
{
- amd64_SymConst_attr_t *attr = get_
irn_generic_attr
(node);
+ amd64_SymConst_attr_t *attr = get_
amd64_SymConst_attr
(node);
attr->entity = entity;
attr->fp_offset = 0;
}
/** Compare node attributes for SymConst. */
attr->entity = entity;
attr->fp_offset = 0;
}
/** Compare node attributes for SymConst. */
-static int cmp_amd64_attr_SymConst(
ir_node *a,
ir_node *b)
+static int cmp_amd64_attr_SymConst(
const ir_node *a, const
ir_node *b)
{
const amd64_SymConst_attr_t *attr_a = get_amd64_SymConst_attr_const(a);
const amd64_SymConst_attr_t *attr_b = get_amd64_SymConst_attr_const(b);
{
const amd64_SymConst_attr_t *attr_a = get_amd64_SymConst_attr_const(a);
const amd64_SymConst_attr_t *attr_b = get_amd64_SymConst_attr_const(b);
@@
-160,7
+163,7
@@
static int cmp_amd64_attr_SymConst(ir_node *a, ir_node *b)
}
/** Compare common amd64 node attributes. */
}
/** Compare common amd64 node attributes. */
-static int cmp_amd64_attr(
ir_node *a,
ir_node *b)
+static int cmp_amd64_attr(
const ir_node *a, const
ir_node *b)
{
const amd64_attr_t *attr_a = get_amd64_attr_const(a);
const amd64_attr_t *attr_b = get_amd64_attr_const(b);
{
const amd64_attr_t *attr_a = get_amd64_attr_const(a);
const amd64_attr_t *attr_b = get_amd64_attr_const(b);
@@
-182,6
+185,7
@@
static void amd64_copy_attr(ir_graph *irg, const ir_node *old_node,
memcpy(attr_new, attr_old, get_op_attr_size(get_irn_op(old_node)));
/* copy out flags */
memcpy(attr_new, attr_old, get_op_attr_size(get_irn_op(old_node)));
/* copy out flags */
+ new_info->flags = old_info->flags;
new_info->out_infos =
DUP_ARR_D(reg_out_info_t, obst, old_info->out_infos);
new_info->in_reqs = old_info->in_reqs;
new_info->out_infos =
DUP_ARR_D(reg_out_info_t, obst, old_info->out_infos);
new_info->in_reqs = old_info->in_reqs;