move backend into libfirm
[libfirm] / ir / be / arm / arm_transform.c
index 02cc859..91e75e3 100644 (file)
@@ -139,7 +139,6 @@ unsigned int arm_decode_imm_w_shift(tarval *tv) {
  */
 static ir_node *create_const_graph_value(ir_node *irn, ir_node *block, unsigned int value) {
        ir_node *result;
-       int negate = 0;
        vals v, vn;
        int cnt;
        ir_mode *mode = get_irn_mode(irn);
@@ -951,23 +950,23 @@ static ir_node *gen_CopyB(ir_node *irn, arm_code_gen_t *cg) {
  * access must be done relative the the fist IncSP ...
  */
 static int get_sp_expand_offset(ir_node *inc_sp) {
-       unsigned offset    = be_get_IncSP_offset(inc_sp);
-       be_stack_dir_t dir = be_get_IncSP_direction(inc_sp);
+       int offset = be_get_IncSP_offset(inc_sp);
 
-       if (offset == BE_STACK_FRAME_SIZE)
+       if (offset == BE_STACK_FRAME_SIZE_EXPAND)
                return 0;
-       return dir == be_stack_dir_expand ? (int)offset : -(int)offset;
+
+       return offset;
 }
 
-static ir_node *gen_StackParam(ir_node *irn, arm_code_gen_t *cg) {
 #if 0
-       ir_node *new_op = NULL;
-       ir_node *block  = get_nodes_block(irn);
-       ir_node *noreg  = ia32_new_NoReg_gp(env->cg);
-       ir_node *mem    = new_rd_NoMem(env->irg);
-       ir_node *ptr    = get_irn_n(irn, 0);
-       entity  *ent    = be_get_frame_entity(irn);
-       ir_mode *mode   = env->mode;
+static ir_node *gen_StackParam(ir_node *irn, arm_code_gen_t *cg) {
+       ir_node   *new_op = NULL;
+       ir_node   *block  = get_nodes_block(irn);
+       ir_node   *noreg  = ia32_new_NoReg_gp(env->cg);
+       ir_node   *mem    = new_rd_NoMem(env->irg);
+       ir_node   *ptr    = get_irn_n(irn, 0);
+       ir_entity *ent    = be_get_frame_entity(irn);
+       ir_mode   *mode   = env->mode;
 
 //     /* If the StackParam has only one user ->     */
 //     /* put it in the Block where the user resides */
@@ -998,16 +997,16 @@ static ir_node *gen_StackParam(ir_node *irn, arm_code_gen_t *cg) {
        SET_IA32_ORIG_NODE(new_op, ia32_get_old_node_name(env->cg, env->irn));
 
        return new_rd_Proj(env->dbg, env->irg, block, new_op, mode, 0);
-#endif
 }
+#endif
 
 /**
  * Transforms a FrameAddr into an ia32 Add.
  */
 static ir_node *gen_be_FrameAddr(ir_node *irn, arm_code_gen_t *cg) {
        ir_node *block  = get_nodes_block(irn);
-       entity  *ent    = be_get_frame_entity(irn);
-       int     offset  = get_entity_offset_bytes(ent);
+       ir_entity *ent  = be_get_frame_entity(irn);
+       int     offset  = get_entity_offset(ent);
        ir_node *op     = get_irn_n(irn, 0);
        ir_node *cnst;
        ir_mode *mode   = get_irn_mode(irn);
@@ -1024,17 +1023,17 @@ static ir_node *gen_be_FrameAddr(ir_node *irn, arm_code_gen_t *cg) {
        return new_rd_arm_Add(dbg, current_ir_graph, block, op, cnst, mode, ARM_SHF_NONE, NULL);
 }
 
+#if 0
 /**
  * Transforms a FrameLoad into an ia32 Load.
  */
 static ir_node *gen_FrameLoad(ir_node *irn, arm_code_gen_t *cg) {
-#if 0
-       ir_node *new_op = NULL;
-       ir_node *noreg  = ia32_new_NoReg_gp(env->cg);
-       ir_node *mem    = get_irn_n(irn, 0);
-       ir_node *ptr    = get_irn_n(irn, 1);
-       entity  *ent    = be_get_frame_entity(irn);
-       ir_mode *mode   = get_type_mode(get_entity_type(ent));
+       ir_node   *new_op = NULL;
+       ir_node   *noreg  = ia32_new_NoReg_gp(env->cg);
+       ir_node   *mem    = get_irn_n(irn, 0);
+       ir_node   *ptr    = get_irn_n(irn, 1);
+       ir_entity *ent    = be_get_frame_entity(irn);
+       ir_mode   *mode   = get_type_mode(get_entity_type(ent));
 
        if (mode_is_float(mode)) {
                if (USE_SSE2(env->cg))
@@ -1059,22 +1058,21 @@ static ir_node *gen_FrameLoad(ir_node *irn, arm_code_gen_t *cg) {
        SET_IA32_ORIG_NODE(new_op, ia32_get_old_node_name(env->cg, env->irn));
 
        return new_op;
-#endif
 }
+#endif
 
-
+#if 0
 /**
  * Transforms a FrameStore into an ia32 Store.
  */
 static ir_node *gen_FrameStore(ir_node *irn, arm_code_gen_t *cg) {
-#if 0
-       ir_node *new_op = NULL;
-       ir_node *noreg  = ia32_new_NoReg_gp(env->cg);
-       ir_node *mem    = get_irn_n(irn, 0);
-       ir_node *ptr    = get_irn_n(irn, 1);
-       ir_node *val    = get_irn_n(irn, 2);
-       entity  *ent    = be_get_frame_entity(irn);
-       ir_mode *mode   = get_irn_mode(val);
+       ir_node   *new_op = NULL;
+       ir_node   *noreg  = ia32_new_NoReg_gp(env->cg);
+       ir_node   *mem    = get_irn_n(irn, 0);
+       ir_node   *ptr    = get_irn_n(irn, 1);
+       ir_node   *val    = get_irn_n(irn, 2);
+       ir_entity *ent    = be_get_frame_entity(irn);
+       ir_mode   *mode   = get_irn_mode(val);
 
        if (mode_is_float(mode)) {
                if (USE_SSE2(env->cg))
@@ -1102,8 +1100,8 @@ static ir_node *gen_FrameStore(ir_node *irn, arm_code_gen_t *cg) {
        SET_IA32_ORIG_NODE(new_op, ia32_get_old_node_name(env->cg, env->irn));
 
        return new_op;
-#endif
 }
+#endif
 
 
 // static ir_node *gen_be_Copy(ir_node *irn, arm_code_gen_t *cg) {
@@ -1124,7 +1122,6 @@ static ir_node *gen_FrameStore(ir_node *irn, arm_code_gen_t *cg) {
  * move constants out of the start block
  */
 void arm_move_consts(ir_node *node, void *env) {
-       arm_code_gen_t *cgenv = (arm_code_gen_t *)env;
        int i;
 
        if (is_Block(node))
@@ -1133,7 +1130,7 @@ void arm_move_consts(ir_node *node, void *env) {
        if (is_Phi(node)) {
                for (i = get_irn_arity(node) - 1; i >= 0; --i) {
                        ir_node *pred = get_irn_n(node,i);
-                       opcode pred_code = get_irn_opcode(pred);
+                       ir_opcode pred_code = get_irn_opcode(pred);
                        if (pred_code == iro_Const) {
                                ir_node *const_graph;
                                const_graph = create_const_graph(pred, get_nodes_block(get_irn_n(get_nodes_block(node),i)));
@@ -1155,7 +1152,7 @@ void arm_move_consts(ir_node *node, void *env) {
        }
        for (i = 0; i < get_irn_arity(node); i++) {
                ir_node *pred = get_irn_n(node,i);
-               opcode pred_code = get_irn_opcode(pred);
+               ir_opcode pred_code = get_irn_opcode(pred);
                if (pred_code == iro_Const) {
                        ir_node *const_graph;
                        const_graph = create_const_graph(pred, get_nodes_block(node));
@@ -1182,8 +1179,8 @@ void arm_move_symconsts(ir_node *node, void *env) {
                return;
 
        for (i = 0; i < get_irn_arity(node); i++) {
-               ir_node *pred      = get_irn_n(node,i);
-               opcode   pred_code = get_irn_opcode(pred);
+               ir_node *pred       = get_irn_n(node,i);
+               ir_opcode pred_code = get_irn_opcode(pred);
 
                if (pred_code == iro_SymConst) {
                        const char *str = get_sc_name(pred);