Mesa (master): intel/fs: Don't emit empty ELSE blocks.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Apr 29 06:50:08 UTC 2019
Module: Mesa
Branch: master
Commit: 9dcf90d7ba966cba904266209087a87ea9c018b9
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9dcf90d7ba966cba904266209087a87ea9c018b9
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Apr 3 14:24:31 2019 -0700
intel/fs: Don't emit empty ELSE blocks.
While we can clean this up later, it's trivial to not generate the
stupid code in the first place, which saves some optimization work.
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
---
src/intel/compiler/brw_fs_nir.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/intel/compiler/brw_fs_nir.cpp b/src/intel/compiler/brw_fs_nir.cpp
index 71fe0ff7e2f..526cc13c71a 100644
--- a/src/intel/compiler/brw_fs_nir.cpp
+++ b/src/intel/compiler/brw_fs_nir.cpp
@@ -409,10 +409,10 @@ fs_visitor::nir_emit_if(nir_if *if_stmt)
nir_emit_cf_list(&if_stmt->then_list);
- /* note: if the else is empty, dead CF elimination will remove it */
- bld.emit(BRW_OPCODE_ELSE);
-
- nir_emit_cf_list(&if_stmt->else_list);
+ if (!nir_cf_list_is_empty_block(&if_stmt->else_list)) {
+ bld.emit(BRW_OPCODE_ELSE);
+ nir_emit_cf_list(&if_stmt->else_list);
+ }
bld.emit(BRW_OPCODE_ENDIF);
More information about the mesa-commit
mailing list