in[1] = new_Const_long(mode_int, 0);
in[2] = new_Const_long(mode_int, 3);
}
- ir_type *tp = get_ir_type((type_t*) function_type);
+ ir_type *tp = get_ir_type(function_type);
ir_node *irn = new_d_Builtin(dbgi, get_store(), ir_bk_prefetch, 3, in, tp);
set_store(new_Proj(irn, mode_M, pn_Builtin_M));
return NULL;
}
+ case T___builtin_trap: {
+ ir_type *tp = get_ir_type(function_type);
+ ir_node *irn = new_d_Builtin(dbgi, get_store(), ir_bk_prefetch, 0, NULL, tp);
+ set_store(new_Proj(irn, mode_M, pn_Builtin_M));
+ return NULL;
+ }
default:
panic("unsupported builtin found");
}
return make_function_1_type(type_int, type_unsigned_int);
case T___builtin_prefetch:
return make_function_1_type_variadic(type_float, type_void_ptr);
+ case T___builtin_trap: {
+ type_t *type = make_function_0_type(type_void);
+ type->function.base.modifiers |= DM_NORETURN;
+ return type;
+ }
default:
internal_errorf(HERE, "not implemented builtin identifier found");
}
case T___builtin_ctz:
case T___builtin_popcount:
case T___builtin_parity:
- case T___builtin_prefetch: return parse_builtin_symbol();
+ case T___builtin_prefetch:
+ case T___builtin_trap: return parse_builtin_symbol();
case T___builtin_isgreater:
case T___builtin_isgreaterequal:
case T___builtin_isless:
break;
}
case T___builtin_prefetch: {
- /* second and third argument must be constant if existant */
+ /* second and third argument must be constant if existent */
call_argument_t *rw = call->arguments->next;
call_argument_t *locality = NULL;
S(_ALL, __builtin_ctz)
S(_ALL, __builtin_popcount)
S(_ALL, __builtin_parity)
+S(_ALL, __builtin_trap)
S(_ALL, __builtin_types_compatible_p)
S(_ALL, __PRETTY_FUNCTION__)
S(_ALL, __FUNCTION__)