diff options
Diffstat (limited to 'src/ir_print.cpp')
| -rw-r--r-- | src/ir_print.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/ir_print.cpp b/src/ir_print.cpp index bcbdca615..d5271444d 100644 --- a/src/ir_print.cpp +++ b/src/ir_print.cpp @@ -363,6 +363,9 @@ void ir_print_proc_type_without_pointer(irFileBuffer *f, irModule *m, Type *t) { if (e->flags&EntityFlag_NoAlias) { ir_write_str_lit(f, " noalias"); } + if (e->flags&EntityFlag_ByVal) { + ir_write_str_lit(f, " byval"); + } ir_write_byte(f, ' '); param_index++; } @@ -2184,6 +2187,9 @@ void ir_print_instr(irFileBuffer *f, irModule *m, irValue *value) { if (e->flags&EntityFlag_NoAlias) { ir_write_str_lit(f, " noalias"); } + if (e->flags&EntityFlag_ByVal) { + ir_write_str_lit(f, " byval"); + } ir_write_byte(f, ' '); ir_print_value(f, m, arg, t); param_index++; @@ -2196,6 +2202,9 @@ void ir_print_instr(irFileBuffer *f, irModule *m, irValue *value) { if (e->flags&EntityFlag_ImplicitReference) { ir_write_str_lit(f, " nonnull dereferenceable"); } + if (e->flags&EntityFlag_ByVal) { + ir_write_str_lit(f, " byval"); + } ir_write_byte(f, ' '); irValue *arg = call->args[arg_index++]; ir_print_value(f, m, arg, t); @@ -2236,6 +2245,9 @@ void ir_print_instr(irFileBuffer *f, irModule *m, irValue *value) { if (e->flags&EntityFlag_NoAlias) { ir_write_str_lit(f, " noalias"); } + if (e->flags&EntityFlag_ByVal) { + ir_write_str_lit(f, " byval"); + } ir_write_byte(f, ' '); ir_print_value(f, m, arg, t); param_index++; @@ -2246,6 +2258,9 @@ void ir_print_instr(irFileBuffer *f, irModule *m, irValue *value) { if (e->flags&EntityFlag_NoAlias) { ir_write_str_lit(f, " noalias"); } + if (e->flags&EntityFlag_ByVal) { + ir_write_str_lit(f, " byval"); + } ir_write_byte(f, ' '); ir_print_value(f, m, arg, t); param_index++; @@ -2390,6 +2405,10 @@ void ir_print_proc(irFileBuffer *f, irModule *m, irProcedure *proc) { if (e->flags&EntityFlag_NoAlias) { ir_write_str_lit(f, " noalias"); } + if (e->flags&EntityFlag_ByVal) { + ir_write_str_lit(f, " byval"); + } + if (proc->body != nullptr) { ir_fprintf(f, " %%_.%td", parameter_index+j); @@ -2402,6 +2421,9 @@ void ir_print_proc(irFileBuffer *f, irModule *m, irProcedure *proc) { if (e->flags&EntityFlag_NoAlias) { ir_write_str_lit(f, " noalias"); } + if (e->flags&EntityFlag_ByVal) { + ir_write_str_lit(f, " byval"); + } if (proc->body != nullptr) { ir_fprintf(f, " %%_.%td", parameter_index); } |