mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2024-11-23 02:04:41 +08:00
aco/insert_NOPs: add early exit to handle_valu_partial_forwarding_hazard_instr
No need to continue if there was already a hazard found in a different control flow path. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32191>
This commit is contained in:
parent
07df37ba01
commit
bb87832ce0
@ -1252,6 +1252,10 @@ handle_valu_partial_forwarding_hazard_instr(VALUPartialForwardingHazardGlobalSta
|
|||||||
VALUPartialForwardingHazardBlockState& block_state,
|
VALUPartialForwardingHazardBlockState& block_state,
|
||||||
aco_ptr<Instruction>& instr)
|
aco_ptr<Instruction>& instr)
|
||||||
{
|
{
|
||||||
|
/* Check if there is already a hazard found on some other control flow path. */
|
||||||
|
if (global_state.hazard_found)
|
||||||
|
return true;
|
||||||
|
|
||||||
if (instr->isSALU() && !instr->definitions.empty()) {
|
if (instr->isSALU() && !instr->definitions.empty()) {
|
||||||
if (block_state.state == written_after_exec_write && instr->writes_exec())
|
if (block_state.state == written_after_exec_write && instr->writes_exec())
|
||||||
block_state.state = exec_written;
|
block_state.state = exec_written;
|
||||||
|
Loading…
Reference in New Issue
Block a user