Resolve constness warning.
[libfirm] / ir / lower / lower_intrinsics.c
index 339b491..cf03933 100644 (file)
@@ -62,7 +62,6 @@ static void call_mapper(ir_node *node, void *env)
 
        if (op == op_Call) {
                ir_node *symconst;
-               pmap_entry *p;
                const i_call_record *r;
                ir_entity *ent;
 
@@ -71,10 +70,9 @@ static void call_mapper(ir_node *node, void *env)
                        return;
 
                ent = get_SymConst_entity(symconst);
-               p   = pmap_find(wenv->c_map, ent);
+               r   = (const i_call_record*)pmap_get(wenv->c_map, ent);
 
-               if (p) {
-                       r = (const i_call_record*)p->value;
+               if (r != NULL) {
                        wenv->nr_of_intrinsics += r->i_mapper(node, r->ctx) ? 1 : 0;
                }
        } else {
@@ -95,7 +93,7 @@ static void call_mapper(ir_node *node, void *env)
 size_t lower_intrinsics(i_record *list, size_t length, int part_block_used)
 {
        size_t         i, n;
-       size_t         n_ops = get_irp_n_opcodes();
+       size_t         n_ops = ir_get_n_opcodes();
        ir_graph       *irg;
        pmap           *c_map = pmap_create_ex(length);
        i_instr_record **i_map;
@@ -295,7 +293,7 @@ int i_mapper_alloca(ir_node *call, void *ctx)
                op = new_rd_Conv(dbg, block, op, mode);
        }
 
-       irn    = new_rd_Alloc(dbg, block, mem, op, firm_unknown_type, stack_alloc);
+       irn    = new_rd_Alloc(dbg, block, mem, op, get_unknown_type(), stack_alloc);
        mem    = new_rd_Proj(dbg, irn, mode_M, pn_Alloc_M);
        irn    = new_rd_Proj(dbg, irn, get_modeP_data(), pn_Alloc_res);
        if (ir_throws_exception(call)) {
@@ -430,6 +428,16 @@ int i_mapper_exp(ir_node *call, void *ctx)
        return 0;
 }
 
+int i_mapper_exp2(ir_node *call, void *ctx)
+{
+       return i_mapper_exp(call, ctx);
+}
+
+int i_mapper_exp10(ir_node *call, void *ctx)
+{
+       return i_mapper_exp(call, ctx);
+}
+
 /**
  * A mapper for mapping f(0.0) to 0.0.
  */
@@ -525,6 +533,18 @@ int i_mapper_log(ir_node *call, void *ctx)
        return i_mapper_one_to_zero(call, ctx, FS_OPT_RTS_LOG);
 }
 
+int i_mapper_log2(ir_node *call, void *ctx)
+{
+       /* log2(1.0) = 0.0 */
+       return i_mapper_one_to_zero(call, ctx, FS_OPT_RTS_LOG);
+}
+
+int i_mapper_log10(ir_node *call, void *ctx)
+{
+       /* log10(1.0) = 0.0 */
+       return i_mapper_one_to_zero(call, ctx, FS_OPT_RTS_LOG);
+}
+
 int i_mapper_sin(ir_node *call, void *ctx)
 {
        /* sin(0.0) = 0.0 */