aboutsummaryrefslogtreecommitdiff
path: root/src/Value.zig
diff options
context:
space:
mode:
authormlugg <mlugg@mlugg.co.uk>2024-03-26 05:38:32 +0000
committermlugg <mlugg@mlugg.co.uk>2024-03-26 13:48:07 +0000
commita61def10c66abc871f92c84d9cef85b6b7752cbf (patch)
tree6d8dfdbad1cbaf827d52ec61c33fff0d6ddae86d /src/Value.zig
parentb8d114a29e341a0cbd4c22cf02cb1588b0154446 (diff)
downloadzig-a61def10c66abc871f92c84d9cef85b6b7752cbf.tar.gz
zig-a61def10c66abc871f92c84d9cef85b6b7752cbf.zip
compiler: eliminate most usages of TypedValue
Diffstat (limited to 'src/Value.zig')
-rw-r--r--src/Value.zig6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/Value.zig b/src/Value.zig
index 290f38d117..81b8583a84 100644
--- a/src/Value.zig
+++ b/src/Value.zig
@@ -249,12 +249,12 @@ pub fn getUnsignedIntAdvanced(val: Value, mod: *Module, opt_sema: ?*Sema) !?u64
.int => |int| Value.fromInterned(int).getUnsignedIntAdvanced(mod, opt_sema),
.elem => |elem| {
const base_addr = (try Value.fromInterned(elem.base).getUnsignedIntAdvanced(mod, opt_sema)) orelse return null;
- const elem_ty = Type.fromInterned(mod.intern_pool.typeOf(elem.base)).elemType2(mod);
+ const elem_ty = Value.fromInterned(elem.base).typeOf(mod).elemType2(mod);
return base_addr + elem.index * elem_ty.abiSize(mod);
},
.field => |field| {
const base_addr = (try Value.fromInterned(field.base).getUnsignedIntAdvanced(mod, opt_sema)) orelse return null;
- const struct_ty = Type.fromInterned(mod.intern_pool.typeOf(field.base)).childType(mod);
+ const struct_ty = Value.fromInterned(field.base).typeOf(mod).childType(mod);
if (opt_sema) |sema| try sema.resolveTypeLayout(struct_ty);
return base_addr + struct_ty.structFieldOffset(@as(usize, @intCast(field.index)), mod);
},
@@ -1390,7 +1390,7 @@ pub fn elemPtr(
};
switch (mod.intern_pool.indexToKey(ptr_val.toIntern())) {
.ptr => |ptr| switch (ptr.addr) {
- .elem => |elem| if (Type.fromInterned(mod.intern_pool.typeOf(elem.base)).elemType2(mod).eql(elem_ty, mod))
+ .elem => |elem| if (Value.fromInterned(elem.base).typeOf(mod).elemType2(mod).eql(elem_ty, mod))
return Value.fromInterned((try mod.intern(.{ .ptr = .{
.ty = elem_ptr_ty.toIntern(),
.addr = .{ .elem = .{