Commit faaca237 authored by Kenneth Graunke's avatar Kenneth Graunke
Browse files

i965/fs: Make lower_load_payload etc. appear in INTEL_DEBUG=optimizer.

In order to support calling lower_load_payload() inside a condition,
this patch makes OPT() a statement expression:

https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html

We recently did the equivalent change in the vec4 backend (commit
9b8bd677

).
Signed-off-by: default avatarKenneth Graunke <kenneth@whitecape.org>
Reviewed-by: default avatarMatt Turner <mattst88@gmail.com>
Acked-by: default avatarJason Ekstrand <jason.ekstrand@intel.com>
parent a4ab08bf
...@@ -3543,7 +3543,7 @@ fs_visitor::optimize() ...@@ -3543,7 +3543,7 @@ fs_visitor::optimize()
assign_constant_locations(); assign_constant_locations();
demote_pull_constants(); demote_pull_constants();
#define OPT(pass, args...) do { \ #define OPT(pass, args...) ({ \
pass_num++; \ pass_num++; \
bool this_progress = pass(args); \ bool this_progress = pass(args); \
\ \
...@@ -3556,7 +3556,8 @@ fs_visitor::optimize() ...@@ -3556,7 +3556,8 @@ fs_visitor::optimize()
} \ } \
\ \
progress = progress || this_progress; \ progress = progress || this_progress; \
} while (false) this_progress; \
})
if (unlikely(INTEL_DEBUG & DEBUG_OPTIMIZER)) { if (unlikely(INTEL_DEBUG & DEBUG_OPTIMIZER)) {
char filename[64]; char filename[64];
...@@ -3568,10 +3569,11 @@ fs_visitor::optimize() ...@@ -3568,10 +3569,11 @@ fs_visitor::optimize()
bool progress; bool progress;
int iteration = 0; int iteration = 0;
int pass_num = 0;
do { do {
progress = false; progress = false;
pass_num = 0;
iteration++; iteration++;
int pass_num = 0;
OPT(remove_duplicate_mrf_writes); OPT(remove_duplicate_mrf_writes);
...@@ -3590,11 +3592,13 @@ fs_visitor::optimize() ...@@ -3590,11 +3592,13 @@ fs_visitor::optimize()
OPT(compact_virtual_grfs); OPT(compact_virtual_grfs);
} while (progress); } while (progress);
if (lower_load_payload()) { pass_num = 0;
if (OPT(lower_load_payload)) {
split_virtual_grfs(); split_virtual_grfs();
register_coalesce(); OPT(register_coalesce);
compute_to_mrf(); OPT(compute_to_mrf);
dead_code_eliminate(); OPT(dead_code_eliminate);
} }
lower_uniform_pull_constant_loads(); lower_uniform_pull_constant_loads();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment