/*
- * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved.
+ * Copyright (C) 1995-2011 University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
* @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 "irprintf.h"
#include "xmalloc.h"
-#include "../bearch.h"
+#include "bearch.h"
#include "amd64_nodes_attr.h"
#include "amd64_new_nodes.h"
* @param n the node to dump
* @param reason indicates which kind of information should be dumped
*/
-static void amd64_dump_node(FILE *F, ir_node *n, dump_reason_t reason)
+static void amd64_dump_node(FILE *F, const ir_node *n, dump_reason_t reason)
{
ir_mode *mode = NULL;
*/
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);
amd64_attr_t *attr = get_amd64_attr(node);
backend_info_t *info;
- (void) execution_units;
- arch_irn_set_flags(node, flags);
- arch_set_in_register_reqs(node, in_reqs);
+ arch_set_irn_flags(node, flags);
+ arch_set_irn_register_reqs_in(node, in_reqs);
info = be_get_info(node);
info->out_infos = NEW_ARR_D(reg_out_info_t, obst, n_res);
attr->data.ins_permuted = 0;
attr->data.cmp_unsigned = 0;
- attr->ext.pnc = (pn_Cmp)0;
+ attr->ext.relation = ir_relation_false;
attr->ext.imm_value = 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);
}
/** 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);
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;