mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-06 11:00:11 +01:00
nir/print: print function signature
parameter dimensions and names if we have them. example: decl_function libagx_geometry_input_address (64 return, 64 p, 32 vtx, 32 location) Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32208>
This commit is contained in:
parent
3da8444be5
commit
eebfbf5ecd
1 changed files with 26 additions and 5 deletions
|
|
@ -2315,12 +2315,33 @@ print_function(nir_function *function, print_state *state)
|
|||
{
|
||||
FILE *fp = state->fp;
|
||||
|
||||
fprintf(fp, "decl_function %s (", function->name);
|
||||
|
||||
for (unsigned i = 0; i < function->num_params; ++i) {
|
||||
if (i != 0) {
|
||||
fprintf(fp, ", ");
|
||||
}
|
||||
|
||||
nir_parameter param = function->params[i];
|
||||
|
||||
fprintf(fp, "%u", param.bit_size);
|
||||
if (param.num_components != 1) {
|
||||
fprintf(fp, "x%u", param.num_components);
|
||||
}
|
||||
|
||||
if (param.name) {
|
||||
fprintf(fp, " %s", param.name);
|
||||
} else if (param.is_return) {
|
||||
fprintf(fp, " return");
|
||||
}
|
||||
}
|
||||
|
||||
fprintf(fp, ")");
|
||||
|
||||
/* clang-format off */
|
||||
fprintf(fp, "decl_function %s (%d params)%s%s", function->name,
|
||||
function->num_params,
|
||||
function->dont_inline ? " (noinline)" :
|
||||
function->should_inline ? " (inline)" : "",
|
||||
function->is_exported ? " (exported)" : "");
|
||||
fprintf(fp, "%s%s", function->dont_inline ? " (noinline)" :
|
||||
function->should_inline ? " (inline)" : "",
|
||||
function->is_exported ? " (exported)" : "");
|
||||
/* clang-format on */
|
||||
|
||||
fprintf(fp, "\n");
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue