X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Famd64%2Famd64_transform.c;h=5a6c43eee8126c09f49f1e54d7a7e0fc5deaea63;hb=8e4e49e66d1d578b31a5ffce9bb6ff94ba985dfb;hp=b4593a10663876f6b0d14243c2d114585ae8ed65;hpb=ce6161a7e42a48f7422b7babcc64d8ace18e2687;p=libfirm diff --git a/ir/be/amd64/amd64_transform.c b/ir/be/amd64/amd64_transform.c index b4593a106..5a6c43eee 100644 --- a/ir/be/amd64/amd64_transform.c +++ b/ir/be/amd64/amd64_transform.c @@ -20,7 +20,6 @@ /** * @file * @brief code selection (transform FIRM into amd64 FIRM) - * @version $Id: amd64_transform.c 26673 2009-10-01 16:43:13Z matze $ */ #include "config.h" @@ -34,9 +33,9 @@ #include "error.h" #include "debug.h" -#include "../benode.h" -#include "../betranshlp.h" -#include "../beutil.h" +#include "benode.h" +#include "betranshlp.h" +#include "beutil.h" #include "bearch_amd64_t.h" #include "amd64_nodes_attr.h" @@ -91,8 +90,6 @@ static ir_node *gen_Const(ir_node *node) { ir_node *res = create_const_graph(node, block); (void) mode; - be_dep_on_frame(res); - return res; } @@ -109,7 +106,6 @@ static ir_node *gen_SymConst(ir_node *node) ir_node *new_node; new_node = new_bd_amd64_SymConst(dbgi, block, entity); - be_dep_on_frame(new_node); return new_node; } @@ -128,7 +124,6 @@ static ir_node *gen_Add(ir_node *node) { ir_node *new_op2 = be_transform_node(op2); ir_node *res = new_bd_amd64_Add(dbgi, block, new_op1, new_op2); - be_dep_on_frame (res); return res; } @@ -147,7 +142,6 @@ static ir_node *gen_Sub(ir_node *node) { ir_node *new_op2 = be_transform_node(op2); ir_node *res = new_bd_amd64_Sub(dbgi, block, new_op1, new_op2); - be_dep_on_frame (res); return res; } @@ -161,7 +155,6 @@ static ir_node *gen_Mul(ir_node *node) { ir_node *new_op2 = be_transform_node(op2); ir_node *res = new_bd_amd64_Mul(dbgi, block, new_op1, new_op2); - be_dep_on_frame (res); return res; } @@ -186,7 +179,7 @@ static ir_node *gen_Jmp(ir_node *node) static ir_node *gen_be_Call(ir_node *node) { ir_node *res = be_duplicate_node(node); - arch_irn_add_flags(res, arch_irn_flags_modify_flags); + arch_add_irn_flags(res, arch_irn_flags_modify_flags); return res; } @@ -224,23 +217,25 @@ static ir_node *gen_Cmp(ir_node *node) */ static ir_node *gen_Cond(ir_node *node) { - ir_node *selector = get_Cond_selector(node); - ir_mode *mode = get_irn_mode(selector); - ir_node *block; - ir_node *flag_node; - dbg_info *dbgi; + ir_node *selector = get_Cond_selector(node); + ir_mode *mode = get_irn_mode(selector); + ir_node *block; + ir_node *flag_node; + ir_relation relation; + dbg_info *dbgi; if (mode != mode_b) { panic ("create_Switch not implemented yet!"); // return gen_SwitchJmp(node); } - assert(is_Proj(selector)); + assert(is_Cmp(selector)); block = be_transform_node(get_nodes_block(node)); dbgi = get_irn_dbg_info(node); - flag_node = be_transform_node(get_Proj_pred(selector)); + flag_node = be_transform_node(selector); + relation = get_Cmp_relation(selector); - return new_bd_amd64_Jcc(dbgi, block, flag_node, get_Proj_pn_cmp(selector)); + return new_bd_amd64_Jcc(dbgi, block, flag_node, relation); } #if 0 @@ -334,7 +329,7 @@ static ir_node *gen_Phi(ir_node *node) copy_node_attr(irg, node, phi); be_duplicate_deps(node, phi); - arch_set_out_register_req(phi, 0, req); + arch_set_irn_register_req_out(phi, 0, req); be_enqueue_preds(node); @@ -365,7 +360,6 @@ static ir_node *gen_Conv(ir_node *node) } else { /* complete in gp registers */ int src_bits = get_mode_size_bits(src_mode); int dst_bits = get_mode_size_bits(dst_mode); - int min_bits; ir_mode *min_mode; if (src_bits == dst_bits) { @@ -374,10 +368,8 @@ static ir_node *gen_Conv(ir_node *node) } if (src_bits < dst_bits) { - min_bits = src_bits; min_mode = src_mode; } else { - min_bits = dst_bits; min_mode = dst_mode; }