mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 04:48:08 +02:00
aco: Add call-related program/block properties
Indicates various properties about calls: Whether a program is an indirect callee, whether a program or block contains function calls, and whether registers used by a caller need to be preserved. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34531>
This commit is contained in:
parent
917a98b722
commit
af812862b7
2 changed files with 7 additions and 0 deletions
|
|
@ -2109,6 +2109,7 @@ enum block_kind {
|
|||
block_kind_resume = 1 << 12,
|
||||
block_kind_export_end = 1 << 13,
|
||||
block_kind_end_with_regs = 1 << 14,
|
||||
block_kind_contains_call = 1 << 15,
|
||||
};
|
||||
|
||||
/* CFG */
|
||||
|
|
@ -2320,6 +2321,10 @@ public:
|
|||
|
||||
bool should_repair_ssa = false;
|
||||
|
||||
bool is_callee = false;
|
||||
bool has_call = false;
|
||||
bool bypass_reg_preservation = false;
|
||||
|
||||
struct {
|
||||
monotonic_buffer_resource memory;
|
||||
/* live-in temps per block */
|
||||
|
|
|
|||
|
|
@ -858,6 +858,8 @@ print_block_kind(uint16_t kind, FILE* output)
|
|||
fprintf(output, "export_end, ");
|
||||
if (kind & block_kind_end_with_regs)
|
||||
fprintf(output, "end_with_regs, ");
|
||||
if (kind & block_kind_contains_call)
|
||||
fprintf(output, "contains_call, ");
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue