authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-12-08 02:15:10-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-12-08 02:15:48-05:00
log0ab953acb2b7192c5907a1c9d9ed9cf850530af2
tree9bddba043688aa39c34601530f2db51d126f5e93
parentd4a93dbac5b38bda79dc26872fcb87980ab4d272

IR: better array len instruction

reference the "len" field directly instead of looking it up by name since we already know exactly where the field metadata is

1 files changed, 1 insertions(+), 2 deletions(-)

src/ir.cpp+1-2
......@@ -6572,8 +6572,7 @@ static TypeTableEntry *ir_analyze_instruction_array_len(IrAnalyze *ira,
65726572 len_val->data.x_bignum.data.x_uint, depends_on_compile_var);
65736573 }
65746574 }
6575 TypeStructField *field = find_struct_type_field(canon_type, buf_create_from_str("len"));
6576 assert(field);
6575 TypeStructField *field = &canon_type->data.structure.fields[slice_len_index];
65776576 IrInstruction *len_ptr = ir_build_struct_field_ptr(&ira->new_irb, array_len_instruction->base.scope,
65786577 array_len_instruction->base.source_node, array_value, field);
65796578 len_ptr->type_entry = get_pointer_to_type(ira->codegen, ira->codegen->builtin_types.entry_usize, true);