diff options
| author | gingerBill <bill@gingerbill.org> | 2018-09-15 10:46:46 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2018-09-15 10:46:46 +0100 |
| commit | 71d987bd2eece5a30f4c872f91f9b08a06efc873 (patch) | |
| tree | bab662631fd0f723847bbc024e13ec827ad16788 /src/ir_print.cpp | |
| parent | 637899467c2329ad0f405ae5d4d6e76e1b091243 (diff) | |
Fix runtime proc names; Change calling convention of `context` parameter
Diffstat (limited to 'src/ir_print.cpp')
| -rw-r--r-- | src/ir_print.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/ir_print.cpp b/src/ir_print.cpp index 6d3084de9..5796845fb 100644 --- a/src/ir_print.cpp +++ b/src/ir_print.cpp @@ -959,6 +959,11 @@ void ir_print_calling_convention(irFileBuffer *f, irModule *m, ProcCallingConven } } +void ir_print_context_parameter_prefix(irFileBuffer *f, irModule *m) { + ir_print_type(f, m, t_context_ptr); + ir_write_str_lit(f, " noalias nonnull nocapture inreg "); +} + void ir_print_instr(irFileBuffer *f, irModule *m, irValue *value) { GB_ASSERT(value->kind == irValue_Instr); irInstr *instr = &value->Instr; @@ -1469,8 +1474,7 @@ void ir_print_instr(irFileBuffer *f, irModule *m, irValue *value) { if (proc_type->Proc.calling_convention == ProcCC_Odin) { if (param_index > 0) ir_write_str_lit(f, ", "); - ir_print_type(f, m, t_context_ptr); - ir_write_str_lit(f, " noalias nonnull "); + ir_print_context_parameter_prefix(f, m); ir_print_value(f, m, call->context_ptr, t_context_ptr); } ir_write_str_lit(f, ")"); @@ -1611,8 +1615,8 @@ void ir_print_proc(irFileBuffer *f, irModule *m, irProcedure *proc) { if (proc_type->calling_convention == ProcCC_Odin) { if (param_index > 0) ir_write_str_lit(f, ", "); - ir_print_type(f, m, t_context_ptr); - ir_write_str_lit(f, " noalias nonnull %__.context_ptr"); + ir_print_context_parameter_prefix(f, m); + ir_write_str_lit(f, "%__.context_ptr"); } ir_write_str_lit(f, ") "); |