Lines Matching defs:block
96 Instruction(Id resultId, Id typeId, Op opCode) : resultId(resultId), typeId(typeId), opCode(opCode), block(nullptr) { }
97 explicit Instruction(Op opCode) : resultId(NoResult), typeId(NoType), opCode(opCode), block(nullptr) { }
137 void setBlock(Block* b) { block = b; }
138 Block* getBlock() const { return block; }
186 Block* block;
190 // SPIR-V IR block.
214 // Returns the block's merge instruction, if one exists (otherwise null).
228 // Change this block into a canonical dead merge block. Delete instructions
229 // as necessary. A canonical dead merge block has only an OpLabel and an
239 // Change this block into a canonical dead continue target branching to the
295 // track whether this block is known to be uncreachable (not necessarily
301 // The different reasons for reaching a block in the inReadableOrder traversal.
303 // Reachable from the entry block via transfers of control, i.e. branches.
307 // A merge block that is not reachable via control flow.
314 // - the block,
315 // - the reason we reached the block,
316 // - if the reason was that block is an unreachable continue or unreachable merge block
317 // then the last parameter is the corresponding header block.
339 void addBlock(Block* block) { blocks.push_back(block); }
340 void removeBlock(Block* block)
342 auto found = find(blocks.begin(), blocks.end(), block);
345 delete block;