From 4e42d7df4303470dec5b3c354a9469699f6abf8d Mon Sep 17 00:00:00 2001 From: Ginger Bill Date: Sun, 8 Oct 2017 12:27:03 +0100 Subject: Minor code reorganization --- src/ir.cpp | 14 -------------- 1 file changed, 14 deletions(-) (limited to 'src/ir.cpp') diff --git a/src/ir.cpp b/src/ir.cpp index d5109e074..455dae9d2 100644 --- a/src/ir.cpp +++ b/src/ir.cpp @@ -3232,20 +3232,6 @@ irValue *ir_emit_transmute(irProcedure *proc, irValue *value, Type *t) { return ir_emit_bitcast(proc, value, dst); } -irValue *ir_emit_down_cast(irProcedure *proc, irValue *value, Type *t) { - GB_ASSERT(is_type_pointer(ir_type(value))); - gbAllocator allocator = proc->module->allocator; - - String field_name = check_down_cast_name(t, type_deref(ir_type(value))); - GB_ASSERT(field_name.len > 0); - Selection sel = lookup_field(proc->module->allocator, t, field_name, false); - irValue *bytes = ir_emit_conv(proc, value, t_u8_ptr); - - i64 offset_ = type_offset_of_from_selection(allocator, type_deref(t), sel); - irValue *offset = ir_const_int(allocator, -offset_); - irValue *head = ir_emit_ptr_offset(proc, bytes, offset); - return ir_emit_conv(proc, head, t); -} irValue *ir_emit_union_cast(irProcedure *proc, irValue *value, Type *type, TokenPos pos) { gbAllocator a = proc->module->allocator; -- cgit v1.2.3