MCPcopy Create free account
hub / github.com/KhronosGroup/SPIRV-Tools / IsPhiArgExecutable

Method IsPhiArgExecutable

source/opt/propagator.cpp:60–68  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

58}
59
60bool SSAPropagator::IsPhiArgExecutable(Instruction* phi, uint32_t i) const {
61 BasicBlock* phi_bb = ctx_->get_instr_block(phi);
62
63 uint32_t in_label_id = phi->GetSingleWordOperand(i + 1);
64 Instruction* in_label_instr = get_def_use_mgr()->GetDef(in_label_id);
65 BasicBlock* in_bb = ctx_->get_instr_block(in_label_instr);
66
67 return IsEdgeExecutable(Edge(in_bb, phi_bb));
68}
69
70bool SSAPropagator::SetStatus(Instruction* inst, PropStatus status) {
71 bool has_old_status = false;

Callers 1

VisitPhiMethod · 0.80

Calls 4

EdgeClass · 0.85
get_instr_blockMethod · 0.80
GetSingleWordOperandMethod · 0.80
GetDefMethod · 0.45

Tested by

no test coverage detected