ir: remove unnecessary and probably buggy code

master
Andrew Kelley 2018-07-13 14:18:37 -04:00
parent 860d3da915
commit 171f33b961
1 changed files with 3 additions and 20 deletions

View File

@ -9237,26 +9237,9 @@ static TypeTableEntry *ir_finish_anal(IrAnalyze *ira, TypeTableEntry *result_typ
} }
static IrInstruction *ir_get_const(IrAnalyze *ira, IrInstruction *old_instruction) { static IrInstruction *ir_get_const(IrAnalyze *ira, IrInstruction *old_instruction) {
IrInstruction *new_instruction; IrInstructionConst *const_instruction = ir_create_instruction<IrInstructionConst>(&ira->new_irb,
if (old_instruction->id == IrInstructionIdVarPtr) { old_instruction->scope, old_instruction->source_node);
IrInstructionVarPtr *old_var_ptr_instruction = (IrInstructionVarPtr *)old_instruction; IrInstruction *new_instruction = &const_instruction->base;
IrInstructionVarPtr *var_ptr_instruction = ir_create_instruction<IrInstructionVarPtr>(&ira->new_irb,
old_instruction->scope, old_instruction->source_node);
var_ptr_instruction->var = old_var_ptr_instruction->var;
new_instruction = &var_ptr_instruction->base;
} else if (old_instruction->id == IrInstructionIdFieldPtr) {
IrInstructionFieldPtr *field_ptr_instruction = ir_create_instruction<IrInstructionFieldPtr>(&ira->new_irb,
old_instruction->scope, old_instruction->source_node);
new_instruction = &field_ptr_instruction->base;
} else if (old_instruction->id == IrInstructionIdElemPtr) {
IrInstructionElemPtr *elem_ptr_instruction = ir_create_instruction<IrInstructionElemPtr>(&ira->new_irb,
old_instruction->scope, old_instruction->source_node);
new_instruction = &elem_ptr_instruction->base;
} else {
IrInstructionConst *const_instruction = ir_create_instruction<IrInstructionConst>(&ira->new_irb,
old_instruction->scope, old_instruction->source_node);
new_instruction = &const_instruction->base;
}
new_instruction->value.special = ConstValSpecialStatic; new_instruction->value.special = ConstValSpecialStatic;
return new_instruction; return new_instruction;
} }