Home
last modified time | relevance | path

Searched refs:preheader (Results 1 - 13 of 13) sorted by relevance

/third_party/mesa3d/src/compiler/nir/
H A Dnir_opt_dce.c106 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 Dnir_divergence_analysis.c877 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 Dtransformation_add_loop_preheader.cpp46 // 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 Dtransformation_add_loop_preheader.cpp46 // 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 Dtransformation_add_loop_preheader.cpp46 // 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 Dloop_descriptor.cpp234 // 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 Dloop_descriptor.h120 // 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 Dloop_descriptor.cpp234 // 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 Dloop_descriptor.h120 // 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 Dloop_descriptor.cpp232 // 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 Dloop_descriptor.h120 // 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 Daco_instruction_selection_setup.cpp56 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 DHexagonCommonGEP.cpp866 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()

Completed in 19 milliseconds