/third_party/mesa3d/src/compiler/nir/ |
H A D | nir_opt_dce.c | 106 nir_block *preheader; member 120 src->pred != loop->preheader; in dce_block() 130 if (loop->preheader) { in dce_block() 170 inner_state.preheader = nir_cf_node_as_block(nir_cf_node_prev(cf_node)); in dce_cf_list() 178 _mesa_set_next_entry(predecessors, NULL)->key == inner_state.preheader) { in dce_cf_list() 194 * By checking parent_loop->preheader, we ensure that we only do this in dce_cf_list() 197 if (!parent_loop->preheader) { in dce_cf_list() 226 loop.preheader = NULL; in nir_opt_dce_impl()
|
H A D | nir_divergence_analysis.c | 877 visit_loop_header_phi(nir_phi_instr *phi, nir_block *preheader, bool divergent_continue) in visit_loop_header_phi() argument 892 /* skip the loop preheader */ in visit_loop_header_phi() 893 if (src->pred == preheader) in visit_loop_header_phi()
|
/third_party/skia/third_party/externals/spirv-tools/source/fuzz/ |
H A D | transformation_add_loop_preheader.cpp | 46 // The id for the preheader must actually be fresh. in IsApplicable() 134 // Make a new block for the preheader. in Apply() 135 std::unique_ptr<opt::BasicBlock> preheader = MakeUnique<opt::BasicBlock>( in Apply() local 142 // predecessor, add necessary OpPhi instructions so the preheader. in Apply() 143 loop_header->ForEachPhiInst([this, &ir_context, &preheader, in Apply() 152 // instructions in the preheader are necessary. The reference to the in Apply() 154 // to the preheader. in Apply() 157 phi_inst->SetInOperand(index_of_out_of_loop_pred_id, {preheader->id()}); in Apply() 160 // needs to be added to the preheader, and its value will depend on all in Apply() 179 // Add the new instruction to the preheader in Apply() [all...] |
/third_party/skia/third_party/externals/swiftshader/third_party/SPIRV-Tools/source/fuzz/ |
H A D | transformation_add_loop_preheader.cpp | 46 // The id for the preheader must actually be fresh. in IsApplicable() 134 // Make a new block for the preheader. in Apply() 135 std::unique_ptr<opt::BasicBlock> preheader = MakeUnique<opt::BasicBlock>( in Apply() local 142 // predecessor, add necessary OpPhi instructions so the preheader. in Apply() 143 loop_header->ForEachPhiInst([this, &ir_context, &preheader, in Apply() 152 // instructions in the preheader are necessary. The reference to the in Apply() 154 // to the preheader. in Apply() 157 phi_inst->SetInOperand(index_of_out_of_loop_pred_id, {preheader->id()}); in Apply() 160 // needs to be added to the preheader, and its value will depend on all in Apply() 179 // Add the new instruction to the preheader in Apply() [all...] |
/third_party/spirv-tools/source/fuzz/ |
H A D | transformation_add_loop_preheader.cpp | 46 // The id for the preheader must actually be fresh. in IsApplicable() 134 // Make a new block for the preheader. in Apply() 135 std::unique_ptr<opt::BasicBlock> preheader = MakeUnique<opt::BasicBlock>( in Apply() local 142 // predecessor, add necessary OpPhi instructions so the preheader. in Apply() 143 loop_header->ForEachPhiInst([this, &ir_context, &preheader, in Apply() 152 // instructions in the preheader are necessary. The reference to the in Apply() 154 // to the preheader. in Apply() 157 phi_inst->SetInOperand(index_of_out_of_loop_pred_id, {preheader->id()}); in Apply() 160 // needs to be added to the preheader, and its value will depend on all in Apply() 179 // Add the new instruction to the preheader in Apply() [all...] |
/third_party/skia/third_party/externals/spirv-tools/source/opt/ |
H A D | loop_descriptor.cpp | 234 // The predecessor is not part of the loop, so potential loop preheader. in FindLoopPreheader() 237 // have a loop preheader. in FindLoopPreheader() 249 // preheader. in FindLoopPreheader() 318 void Loop::SetPreHeaderBlock(BasicBlock* preheader) { in SetPreHeaderBlock() argument 319 if (preheader) { in SetPreHeaderBlock() 320 assert(!IsInsideLoop(preheader) && "The preheader block is in the loop"); in SetPreHeaderBlock() 321 assert(preheader->tail()->opcode() == SpvOpBranch && in SetPreHeaderBlock() 322 "The preheader block does not unconditionally branch to the header " in SetPreHeaderBlock() 324 assert(preheader in SetPreHeaderBlock() [all...] |
H A D | loop_descriptor.h | 120 // not qualify as a preheader. 121 // The preheader is the unique predecessor that: 128 // Sets |preheader| as the loop preheader block. A preheader block must have 132 void SetPreHeaderBlock(BasicBlock* preheader); 134 // Returns the loop pre-header, if there is no suitable preheader it will be 135 // created. Returns |nullptr| if it fails to create the preheader. 223 // This does not affect any of the stored pointers to the header, preheader, 389 // Returns the loop preheader i [all...] |
/third_party/skia/third_party/externals/swiftshader/third_party/SPIRV-Tools/source/opt/ |
H A D | loop_descriptor.cpp | 234 // The predecessor is not part of the loop, so potential loop preheader. in FindLoopPreheader() 237 // have a loop preheader. in FindLoopPreheader() 249 // preheader. in FindLoopPreheader() 318 void Loop::SetPreHeaderBlock(BasicBlock* preheader) { in SetPreHeaderBlock() argument 319 if (preheader) { in SetPreHeaderBlock() 320 assert(!IsInsideLoop(preheader) && "The preheader block is in the loop"); in SetPreHeaderBlock() 321 assert(preheader->tail()->opcode() == SpvOpBranch && in SetPreHeaderBlock() 322 "The preheader block does not unconditionally branch to the header " in SetPreHeaderBlock() 324 assert(preheader in SetPreHeaderBlock() [all...] |
H A D | loop_descriptor.h | 120 // not qualify as a preheader. 121 // The preheader is the unique predecessor that: 128 // Sets |preheader| as the loop preheader block. A preheader block must have 132 void SetPreHeaderBlock(BasicBlock* preheader); 134 // Returns the loop pre-header, if there is no suitable preheader it will be 135 // created. Returns |nullptr| if it fails to create the preheader. 223 // This does not affect any of the stored pointers to the header, preheader, 389 // Returns the loop preheader i [all...] |
/third_party/spirv-tools/source/opt/ |
H A D | loop_descriptor.cpp | 232 // The predecessor is not part of the loop, so potential loop preheader. in FindLoopPreheader() 235 // have a loop preheader. in FindLoopPreheader() 247 // preheader. in FindLoopPreheader() 316 void Loop::SetPreHeaderBlock(BasicBlock* preheader) { in SetPreHeaderBlock() argument 317 if (preheader) { in SetPreHeaderBlock() 318 assert(!IsInsideLoop(preheader) && "The preheader block is in the loop"); in SetPreHeaderBlock() 319 assert(preheader->tail()->opcode() == spv::Op::OpBranch && in SetPreHeaderBlock() 320 "The preheader block does not unconditionally branch to the header " in SetPreHeaderBlock() 322 assert(preheader in SetPreHeaderBlock() [all...] |
H A D | loop_descriptor.h | 120 // not qualify as a preheader. 121 // The preheader is the unique predecessor that: 128 // Sets |preheader| as the loop preheader block. A preheader block must have 132 void SetPreHeaderBlock(BasicBlock* preheader); 134 // Returns the loop pre-header, if there is no suitable preheader it will be 135 // created. Returns |nullptr| if it fails to create the preheader. 223 // This does not affect any of the stored pointers to the header, preheader, 389 // Returns the loop preheader i [all...] |
/third_party/mesa3d/src/amd/compiler/ |
H A D | aco_instruction_selection_setup.cpp | 56 nir_block* preheader = nir_block_cf_tree_prev(nir_loop_first_block(loop)); in is_block_reachable() local 57 return is_block_reachable(impl, known_reachable, preheader); in is_block_reachable()
|
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/Hexagon/ |
H A D | HexagonCommonGEP.cpp | 866 static BasicBlock *preheader(DominatorTree *DT, Loop *L) { in preheader() function 895 // placement. The traversal will also stop when a suitable "preheader" in adjustForInvariance() 896 // cannot be found for a given loop. The "preheader" may actually be in adjustForInvariance() 907 BasicBlock *NewLoc = preheader(DT, Lp); in adjustForInvariance()
|