diff options
| author | Veikka Tuominen <git@vexu.eu> | 2022-03-16 20:40:16 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-16 20:40:16 +0200 |
| commit | 49c0bb1f33044658909cae4351d931af497ee4e5 (patch) | |
| tree | abf9ecce7f08db5b5f92ed30e3fc3f40b926acc3 /src/arch/arm/CodeGen.zig | |
| parent | d4a7a9ac4cf64ef6bf0b1aed16282c3d8b47b431 (diff) | |
| parent | d83a26f068f42c6f9cafd25b7038b70553a496d8 (diff) | |
| download | zig-49c0bb1f33044658909cae4351d931af497ee4e5.tar.gz zig-49c0bb1f33044658909cae4351d931af497ee4e5.zip | |
Merge pull request #11177 from Vexu/dbg_func
Add debug info for inlined calls
Diffstat (limited to 'src/arch/arm/CodeGen.zig')
| -rw-r--r-- | src/arch/arm/CodeGen.zig | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/arch/arm/CodeGen.zig b/src/arch/arm/CodeGen.zig index 5dda14a07d..0ccec1be88 100644 --- a/src/arch/arm/CodeGen.zig +++ b/src/arch/arm/CodeGen.zig @@ -646,6 +646,10 @@ fn genBody(self: *Self, body: []const Air.Inst.Index) InnerError!void { .dbg_var_val, => try self.airDbgVar(inst), + .dbg_inline_begin, + .dbg_inline_end, + => try self.airDbgInline(inst), + .call => try self.airCall(inst, .auto), .call_always_tail => try self.airCall(inst, .always_tail), .call_never_tail => try self.airCall(inst, .never_tail), @@ -2835,6 +2839,14 @@ fn airDbgStmt(self: *Self, inst: Air.Inst.Index) !void { return self.finishAirBookkeeping(); } +fn airDbgInline(self: *Self, inst: Air.Inst.Index) !void { + const ty_pl = self.air.instructions.items(.data)[inst].ty_pl; + const function = self.air.values[ty_pl.payload].castTag(.function).?.data; + // TODO emit debug info for function change + _ = function; + return self.finishAir(inst, .dead, .{ .none, .none, .none }); +} + fn airDbgVar(self: *Self, inst: Air.Inst.Index) !void { const pl_op = self.air.instructions.items(.data)[inst].pl_op; const name = self.air.nullTerminatedString(pl_op.payload); |
