From 9a09c2072e12d01fa118e82da95ec7553c5f47e7 Mon Sep 17 00:00:00 2001 From: Ben Vanik Date: Tue, 14 Jan 2014 18:28:25 -0800 Subject: [PATCH] Fixing badness in release mode. --- src/alloy/hir/hir_builder.cc | 1 + src/alloy/hir/instr.cc | 6 +++--- src/alloy/hir/value.h | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/alloy/hir/hir_builder.cc b/src/alloy/hir/hir_builder.cc index 1443fe00a..99bde707d 100644 --- a/src/alloy/hir/hir_builder.cc +++ b/src/alloy/hir/hir_builder.cc @@ -402,6 +402,7 @@ Instr* HIRBuilder::AppendInstr( instr->opcode = &opcode_info; instr->flags = flags; instr->dest = dest; + instr->src1.value = instr->src2.value = instr->src3.value = NULL; instr->src1_use = instr->src2_use = instr->src3_use = NULL; if (dest) { dest->def = instr; diff --git a/src/alloy/hir/instr.cc b/src/alloy/hir/instr.cc index b800a24dd..53b41b181 100644 --- a/src/alloy/hir/instr.cc +++ b/src/alloy/hir/instr.cc @@ -52,19 +52,19 @@ void Instr::Replace(const OpcodeInfo* opcode, uint16_t flags) { this->opcode = opcode; this->flags = flags; - if (dest) { - dest->def = NULL; - } if (src1_use) { src1.value->RemoveUse(src1_use); + src1.value = NULL; src1_use = NULL; } if (src2_use) { src2.value->RemoveUse(src2_use); + src2.value = NULL; src2_use = NULL; } if (src3_use) { src3.value->RemoveUse(src3_use); + src3.value = NULL; src3_use = NULL; } } diff --git a/src/alloy/hir/value.h b/src/alloy/hir/value.h index 814fe081d..3bc3bfdb7 100644 --- a/src/alloy/hir/value.h +++ b/src/alloy/hir/value.h @@ -59,6 +59,7 @@ public: TypeName type; uint32_t flags; + uint32_t reserved; ConstantValue constant; Instr* def;