unwrap error payload instruction has side effects only if safety check on

This commit is contained in:
Andrew Kelley 2017-02-24 15:11:33 -05:00
parent cd992b89d2
commit 889bed13c3

View File

@ -12423,7 +12423,6 @@ bool ir_has_side_effects(IrInstruction *instruction) {
case IrInstructionIdCheckSwitchProngs: case IrInstructionIdCheckSwitchProngs:
case IrInstructionIdSetGlobalAlign: case IrInstructionIdSetGlobalAlign:
case IrInstructionIdSetGlobalSection: case IrInstructionIdSetGlobalSection:
case IrInstructionIdUnwrapErrPayload:
return true; return true;
case IrInstructionIdPhi: case IrInstructionIdPhi:
case IrInstructionIdUnOp: case IrInstructionIdUnOp:
@ -12492,6 +12491,12 @@ bool ir_has_side_effects(IrInstruction *instruction) {
IrInstructionAsm *asm_instruction = (IrInstructionAsm *)instruction; IrInstructionAsm *asm_instruction = (IrInstructionAsm *)instruction;
return asm_instruction->has_side_effects; return asm_instruction->has_side_effects;
} }
case IrInstructionIdUnwrapErrPayload:
{
IrInstructionUnwrapErrPayload *unwrap_err_payload_instruction =
(IrInstructionUnwrapErrPayload *)instruction;
return unwrap_err_payload_instruction->safety_check_on;
}
} }
zig_unreachable(); zig_unreachable();
} }