aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Wickham <spexguy070@gmail.com>2021-07-11 22:24:33 -0500
committerGitHub <noreply@github.com>2021-07-11 22:24:33 -0500
commit8de5e8bcd1528d4cd0a468fedb8cd735f83069b6 (patch)
tree9fe9168bf1204c4faa4929d278d98b9c6f6cb63a
parent7ef85468265ecbc53efa18f67a5bd5ef46b8c7fb (diff)
parentbd1689ae8986fce29b64498dc6f959ff609d8288 (diff)
downloadzig-8de5e8bcd1528d4cd0a468fedb8cd735f83069b6.tar.gz
zig-8de5e8bcd1528d4cd0a468fedb8cd735f83069b6.zip
Merge pull request #9358 from SpexGuy/remove-owner-bb
Remove Stage1AirInst::owner_bb, use zir owner instead.
-rw-r--r--src/stage1/all_types.hpp1
-rw-r--r--src/stage1/ir.cpp4
2 files changed, 1 insertions, 4 deletions
diff --git a/src/stage1/all_types.hpp b/src/stage1/all_types.hpp
index fa201f6bdf..c673922335 100644
--- a/src/stage1/all_types.hpp
+++ b/src/stage1/all_types.hpp
@@ -2744,7 +2744,6 @@ struct Stage1AirInst {
LLVMValueRef llvm_value;
ZigValue *value;
- Stage1AirBasicBlock *owner_bb;
// Nearly any instruction can have to be stored as a local variable before suspending
// and then loaded after resuming, in case there is an expression with a suspend point
// in it, such as: x + await y
diff --git a/src/stage1/ir.cpp b/src/stage1/ir.cpp
index e92512e9ca..1b7f500b6d 100644
--- a/src/stage1/ir.cpp
+++ b/src/stage1/ir.cpp
@@ -1116,7 +1116,6 @@ static T *ir_create_inst_gen(IrBuilderGen *irb, Scope *scope, AstNode *source_no
special_instruction->base.scope = scope;
special_instruction->base.source_node = source_node;
special_instruction->base.debug_id = exec_next_debug_id_gen(irb->exec);
- special_instruction->base.owner_bb = irb->current_basic_block;
special_instruction->base.value = irb->codegen->pass1_arena->create<ZigValue>();
return special_instruction;
}
@@ -1128,7 +1127,6 @@ static T *ir_create_inst_noval(IrBuilderGen *irb, Scope *scope, AstNode *source_
special_instruction->base.scope = scope;
special_instruction->base.source_node = source_node;
special_instruction->base.debug_id = exec_next_debug_id_gen(irb->exec);
- special_instruction->base.owner_bb = irb->current_basic_block;
return special_instruction;
}
@@ -14024,7 +14022,7 @@ static Stage1AirInst *ir_analyze_instruction_phi(IrAnalyze *ira, Stage1ZirInstPh
instrs_to_move.append(ira->new_irb.current_basic_block->instruction_list.pop());
}
if (instrs_to_move.length != 0) {
- Stage1AirBasicBlock *predecessor = peer_parent->base.source_instruction->child->owner_bb;
+ Stage1AirBasicBlock *predecessor = peer_parent->base.source_instruction->owner_bb->child;
Stage1AirInst *branch_instruction = predecessor->instruction_list.pop();
src_assert(branch_instruction->value->type->id == ZigTypeIdUnreachable,
phi_instruction->base.source_node);