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
9b8bd67768
).
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Acked-by: Jason Ekstrand <jason.ekstrand@intel.com>
This commit is contained in:
parent
a4ab08bf45
commit
faaca23734
|
@ -3543,7 +3543,7 @@ fs_visitor::optimize()
|
|||
assign_constant_locations();
|
||||
demote_pull_constants();
|
||||
|
||||
#define OPT(pass, args...) do { \
|
||||
#define OPT(pass, args...) ({ \
|
||||
pass_num++; \
|
||||
bool this_progress = pass(args); \
|
||||
\
|
||||
|
@ -3556,7 +3556,8 @@ fs_visitor::optimize()
|
|||
} \
|
||||
\
|
||||
progress = progress || this_progress; \
|
||||
} while (false)
|
||||
this_progress; \
|
||||
})
|
||||
|
||||
if (unlikely(INTEL_DEBUG & DEBUG_OPTIMIZER)) {
|
||||
char filename[64];
|
||||
|
@ -3568,10 +3569,11 @@ fs_visitor::optimize()
|
|||
|
||||
bool progress;
|
||||
int iteration = 0;
|
||||
int pass_num = 0;
|
||||
do {
|
||||
progress = false;
|
||||
pass_num = 0;
|
||||
iteration++;
|
||||
int pass_num = 0;
|
||||
|
||||
OPT(remove_duplicate_mrf_writes);
|
||||
|
||||
|
@ -3590,11 +3592,13 @@ fs_visitor::optimize()
|
|||
OPT(compact_virtual_grfs);
|
||||
} while (progress);
|
||||
|
||||
if (lower_load_payload()) {
|
||||
pass_num = 0;
|
||||
|
||||
if (OPT(lower_load_payload)) {
|
||||
split_virtual_grfs();
|
||||
register_coalesce();
|
||||
compute_to_mrf();
|
||||
dead_code_eliminate();
|
||||
OPT(register_coalesce);
|
||||
OPT(compute_to_mrf);
|
||||
OPT(dead_code_eliminate);
|
||||
}
|
||||
|
||||
lower_uniform_pull_constant_loads();
|
||||
|
|
Loading…
Reference in New Issue