Commit 2456df5f4e

Andrew Kelley <andrew@ziglang.org>
2020-09-14 04:56:35
stage2: rename ZigModule to Module
1 parent 4d59f77
src-self-hosted/codegen/c.zig
@@ -1,7 +1,7 @@
 const std = @import("std");
 
 const link = @import("../link.zig");
-const Module = @import("../ZigModule.zig");
+const Module = @import("../Module.zig");
 
 const Inst = @import("../ir.zig").Inst;
 const Value = @import("../value.zig").Value;
src-self-hosted/codegen/wasm.zig
@@ -5,7 +5,7 @@ const assert = std.debug.assert;
 const leb = std.debug.leb;
 const mem = std.mem;
 
-const Module = @import("../ZigModule.zig");
+const Module = @import("../Module.zig");
 const Decl = Module.Decl;
 const Inst = @import("../ir.zig").Inst;
 const Type = @import("../type.zig").Type;
src-self-hosted/link/C.zig
@@ -2,7 +2,7 @@ const std = @import("std");
 const mem = std.mem;
 const assert = std.debug.assert;
 const Allocator = std.mem.Allocator;
-const Module = @import("../ZigModule.zig");
+const Module = @import("../Module.zig");
 const Compilation = @import("../Compilation.zig");
 const fs = std.fs;
 const codegen = @import("../codegen/c.zig");
src-self-hosted/link/Coff.zig
@@ -7,7 +7,7 @@ const assert = std.debug.assert;
 const fs = std.fs;
 
 const trace = @import("../tracy.zig").trace;
-const Module = @import("../ZigModule.zig");
+const Module = @import("../Module.zig");
 const Compilation = @import("../Compilation.zig");
 const codegen = @import("../codegen.zig");
 const link = @import("../link.zig");
src-self-hosted/link/Elf.zig
@@ -3,7 +3,7 @@ const mem = std.mem;
 const assert = std.debug.assert;
 const Allocator = std.mem.Allocator;
 const ir = @import("../ir.zig");
-const Module = @import("../ZigModule.zig");
+const Module = @import("../Module.zig");
 const Compilation = @import("../Compilation.zig");
 const fs = std.fs;
 const elf = std.elf;
@@ -743,7 +743,7 @@ pub fn flush(self: *Elf, comp: *Compilation) !void {
 fn flushInner(self: *Elf, comp: *Compilation) !void {
     // TODO This linker code currently assumes there is only 1 compilation unit and it corresponds to the
     // Zig source code.
-    const zig_module = self.base.options.zig_module orelse return error.LinkingWithoutZigSourceUnimplemented;
+    const module = self.base.options.module orelse return error.LinkingWithoutZigSourceUnimplemented;
 
     const target_endian = self.base.options.target.cpu.arch.endian();
     const foreign_endian = target_endian != std.Target.current.cpu.arch.endian();
@@ -866,8 +866,8 @@ fn flushInner(self: *Elf, comp: *Compilation) !void {
             },
         }
         // Write the form for the compile unit, which must match the abbrev table above.
-        const name_strp = try self.makeDebugString(zig_module.root_pkg.root_src_path);
-        const comp_dir_strp = try self.makeDebugString(zig_module.root_pkg.root_src_directory.path.?);
+        const name_strp = try self.makeDebugString(module.root_pkg.root_src_path);
+        const comp_dir_strp = try self.makeDebugString(module.root_pkg.root_src_directory.path.?);
         const producer_strp = try self.makeDebugString(link.producer_string);
         // Currently only one compilation unit is supported, so the address range is simply
         // identical to the main program header virtual address and memory size.
@@ -1036,7 +1036,7 @@ fn flushInner(self: *Elf, comp: *Compilation) !void {
             0, // include_directories (none except the compilation unit cwd)
         });
         // file_names[0]
-        di_buf.appendSliceAssumeCapacity(zig_module.root_pkg.root_src_path); // relative path name
+        di_buf.appendSliceAssumeCapacity(module.root_pkg.root_src_path); // relative path name
         di_buf.appendSliceAssumeCapacity(&[_]u8{
             0, // null byte for the relative path name
             0, // directory_index
@@ -1230,7 +1230,7 @@ fn linkWithLLD(self: *Elf, comp: *Compilation) !void {
 
     // If there is no Zig code to compile, then we should skip flushing the output file because it
     // will not be part of the linker line anyway.
-    const zig_module_obj_path: ?[]const u8 = if (self.base.options.zig_module) |module| blk: {
+    const module_obj_path: ?[]const u8 = if (self.base.options.module) |module| blk: {
         try self.flushInner(comp);
 
         const obj_basename = self.base.intermediary_basename.?;
@@ -1270,7 +1270,7 @@ fn linkWithLLD(self: *Elf, comp: *Compilation) !void {
         .failure => return error.NotAllCSourceFilesAvailableToLink,
         .success => |success| _ = try ch.addFile(success.object_path, null),
     };
-    try ch.addOptionalFile(zig_module_obj_path);
+    try ch.addOptionalFile(module_obj_path);
     // We can skip hashing libc and libc++ components that we are in charge of building from Zig
     // installation sources because they are always a product of the compiler version + target information.
     ch.hash.addOptional(self.base.options.stack_size_override);
@@ -1500,7 +1500,7 @@ fn linkWithLLD(self: *Elf, comp: *Compilation) !void {
         .success => |success| try argv.append(success.object_path),
     };
 
-    if (zig_module_obj_path) |p| {
+    if (module_obj_path) |p| {
         try argv.append(p);
     }
 
@@ -2837,8 +2837,8 @@ fn dbgLineNeededHeaderBytes(self: Elf) u32 {
         directory_count * 8 + file_name_count * 8 +
     // These are encoded as DW.FORM_string rather than DW.FORM_strp as we would like
     // because of a workaround for readelf and gdb failing to understand DWARFv5 correctly.
-        self.base.options.zig_module.?.root_pkg.root_src_directory.path.?.len +
-        self.base.options.zig_module.?.root_pkg.root_src_path.len);
+        self.base.options.module.?.root_pkg.root_src_directory.path.?.len +
+        self.base.options.module.?.root_pkg.root_src_path.len);
 }
 
 fn dbgInfoNeededHeaderBytes(self: Elf) u32 {
src-self-hosted/link/MachO.zig
@@ -12,7 +12,7 @@ const mem = std.mem;
 const trace = @import("../tracy.zig").trace;
 const Type = @import("../type.zig").Type;
 
-const Module = @import("../ZigModule.zig");
+const Module = @import("../Module.zig");
 const Compilation = @import("../Compilation.zig");
 const link = @import("../link.zig");
 const File = link.File;
src-self-hosted/link/Wasm.zig
@@ -6,7 +6,7 @@ const assert = std.debug.assert;
 const fs = std.fs;
 const leb = std.debug.leb;
 
-const Module = @import("../ZigModule.zig");
+const Module = @import("../Module.zig");
 const Compilation = @import("../Compilation.zig");
 const codegen = @import("../codegen/wasm.zig");
 const link = @import("../link.zig");
@@ -165,7 +165,7 @@ pub fn flush(self: *Wasm, comp: *Compilation) !void {
     }
 
     // Export section
-    if (self.base.options.zig_module) |module| {
+    if (self.base.options.module) |module| {
         const header_offset = try reserveVecSectionHeader(file);
         const writer = file.writer();
         var count: u32 = 0;
src-self-hosted/astgen.zig
@@ -6,7 +6,7 @@ const Type = @import("type.zig").Type;
 const TypedValue = @import("TypedValue.zig");
 const assert = std.debug.assert;
 const zir = @import("zir.zig");
-const Module = @import("ZigModule.zig");
+const Module = @import("Module.zig");
 const ast = std.zig.ast;
 const trace = @import("tracy.zig").trace;
 const Scope = Module.Scope;
src-self-hosted/codegen.zig
@@ -7,7 +7,7 @@ const Type = @import("type.zig").Type;
 const Value = @import("value.zig").Value;
 const TypedValue = @import("TypedValue.zig");
 const link = @import("link.zig");
-const Module = @import("ZigModule.zig");
+const Module = @import("Module.zig");
 const Compilation = @import("Compilation.zig");
 const ErrorMsg = Compilation.ErrorMsg;
 const Target = std.Target;
src-self-hosted/Compilation.zig
@@ -16,7 +16,7 @@ const build_options = @import("build_options");
 const LibCInstallation = @import("libc_installation.zig").LibCInstallation;
 const glibc = @import("glibc.zig");
 const fatal = @import("main.zig").fatal;
-const ZigModule = @import("ZigModule.zig");
+const Module = @import("Module.zig");
 
 /// General-purpose allocator. Used for both temporary and long-term storage.
 gpa: *Allocator,
@@ -75,7 +75,7 @@ crt_files: std.StringHashMapUnmanaged([]const u8) = .{},
 /// Keeping track of this possibly open resource so we can close it later.
 owned_link_dir: ?std.fs.Dir,
 
-pub const InnerError = ZigModule.InnerError;
+pub const InnerError = Module.InnerError;
 
 /// For passing to a C compiler.
 pub const CSourceFile = struct {
@@ -85,14 +85,14 @@ pub const CSourceFile = struct {
 
 const WorkItem = union(enum) {
     /// Write the machine code for a Decl to the output file.
-    codegen_decl: *ZigModule.Decl,
+    codegen_decl: *Module.Decl,
     /// The Decl needs to be analyzed and possibly export itself.
     /// It may have already be analyzed, or it may have been determined
     /// to be outdated; in this case perform semantic analysis again.
-    analyze_decl: *ZigModule.Decl,
+    analyze_decl: *Module.Decl,
     /// The source file containing the Decl has been updated, and so the
     /// Decl may need its line number information updated in the debug info.
-    update_line_number: *ZigModule.Decl,
+    update_line_number: *Module.Decl,
     /// Invoke the Clang compiler to create an object file, which gets linked
     /// with the Compilation.
     c_object: *CObject,
@@ -402,7 +402,7 @@ pub fn create(gpa: *Allocator, options: InitOptions) !*Compilation {
         cache.hash.add(options.output_mode);
         // TODO audit this and make sure everything is in it
 
-        const zig_module: ?*ZigModule = if (options.root_pkg) |root_pkg| blk: {
+        const module: ?*Module = if (options.root_pkg) |root_pkg| blk: {
             // Options that are specific to zig source files, that cannot be
             // modified between incremental updates.
             var hash = cache.hash;
@@ -442,11 +442,11 @@ pub fn create(gpa: *Allocator, options: InitOptions) !*Compilation {
             // this is where we would load it. We have open a handle to the directory where
             // the output either already is, or will be.
             // However we currently do not have serialization of such metadata, so for now
-            // we set up an empty ZigModule that does the entire compilation fresh.
+            // we set up an empty Module that does the entire compilation fresh.
 
             const root_scope = rs: {
                 if (mem.endsWith(u8, root_pkg.root_src_path, ".zig")) {
-                    const root_scope = try gpa.create(ZigModule.Scope.File);
+                    const root_scope = try gpa.create(Module.Scope.File);
                     root_scope.* = .{
                         .sub_file_path = root_pkg.root_src_path,
                         .source = .{ .unloaded = {} },
@@ -459,7 +459,7 @@ pub fn create(gpa: *Allocator, options: InitOptions) !*Compilation {
                     };
                     break :rs &root_scope.base;
                 } else if (mem.endsWith(u8, root_pkg.root_src_path, ".zir")) {
-                    const root_scope = try gpa.create(ZigModule.Scope.ZIRModule);
+                    const root_scope = try gpa.create(Module.Scope.ZIRModule);
                     root_scope.* = .{
                         .sub_file_path = root_pkg.root_src_path,
                         .source = .{ .unloaded = {} },
@@ -473,24 +473,24 @@ pub fn create(gpa: *Allocator, options: InitOptions) !*Compilation {
                 }
             };
 
-            const zig_module = try arena.create(ZigModule);
-            zig_module.* = .{
+            const module = try arena.create(Module);
+            module.* = .{
                 .gpa = gpa,
                 .comp = comp,
                 .root_pkg = root_pkg,
                 .root_scope = root_scope,
                 .zig_cache_artifact_directory = zig_cache_artifact_directory,
             };
-            break :blk zig_module;
+            break :blk module;
         } else null;
-        errdefer if (zig_module) |zm| zm.deinit();
+        errdefer if (module) |zm| zm.deinit();
 
         // For resource management purposes.
         var owned_link_dir: ?std.fs.Dir = null;
         errdefer if (owned_link_dir) |*dir| dir.close();
 
         const bin_directory = emit_bin.directory orelse blk: {
-            if (zig_module) |zm| break :blk zm.zig_cache_artifact_directory;
+            if (module) |zm| break :blk zm.zig_cache_artifact_directory;
 
             const digest = cache.hash.peek();
             const artifact_sub_dir = try std.fs.path.join(arena, &[_][]const u8{ "o", &digest });
@@ -510,7 +510,7 @@ pub fn create(gpa: *Allocator, options: InitOptions) !*Compilation {
             .directory = bin_directory,
             .sub_path = emit_bin.basename,
             .root_name = root_name,
-            .zig_module = zig_module,
+            .module = module,
             .target = options.target,
             .dynamic_linker = options.dynamic_linker,
             .output_mode = options.output_mode,
@@ -605,9 +605,9 @@ pub fn create(gpa: *Allocator, options: InitOptions) !*Compilation {
 }
 
 pub fn destroy(self: *Compilation) void {
-    const optional_zig_module = self.bin_file.options.zig_module;
+    const optional_module = self.bin_file.options.module;
     self.bin_file.destroy();
-    if (optional_zig_module) |zig_module| zig_module.deinit();
+    if (optional_module) |module| module.deinit();
 
     const gpa = self.gpa;
     self.work_queue.deinit();
@@ -655,23 +655,23 @@ pub fn update(self: *Compilation) !void {
         self.work_queue.writeItemAssumeCapacity(.{ .c_object = entry.key });
     }
 
-    if (self.bin_file.options.zig_module) |zig_module| {
-        zig_module.generation += 1;
+    if (self.bin_file.options.module) |module| {
+        module.generation += 1;
 
         // TODO Detect which source files changed.
         // Until then we simulate a full cache miss. Source files could have been loaded for any reason;
         // to force a refresh we unload now.
-        if (zig_module.root_scope.cast(ZigModule.Scope.File)) |zig_file| {
-            zig_file.unload(zig_module.gpa);
-            zig_module.analyzeContainer(&zig_file.root_container) catch |err| switch (err) {
+        if (module.root_scope.cast(Module.Scope.File)) |zig_file| {
+            zig_file.unload(module.gpa);
+            module.analyzeContainer(&zig_file.root_container) catch |err| switch (err) {
                 error.AnalysisFail => {
                     assert(self.totalErrorCount() != 0);
                 },
                 else => |e| return e,
             };
-        } else if (zig_module.root_scope.cast(ZigModule.Scope.ZIRModule)) |zir_module| {
-            zir_module.unload(zig_module.gpa);
-            zig_module.analyzeRootZIRModule(zir_module) catch |err| switch (err) {
+        } else if (module.root_scope.cast(Module.Scope.ZIRModule)) |zir_module| {
+            zir_module.unload(module.gpa);
+            module.analyzeRootZIRModule(zir_module) catch |err| switch (err) {
                 error.AnalysisFail => {
                     assert(self.totalErrorCount() != 0);
                 },
@@ -682,14 +682,14 @@ pub fn update(self: *Compilation) !void {
 
     try self.performAllTheWork();
 
-    if (self.bin_file.options.zig_module) |zig_module| {
+    if (self.bin_file.options.module) |module| {
         // Process the deletion set.
-        while (zig_module.deletion_set.popOrNull()) |decl| {
+        while (module.deletion_set.popOrNull()) |decl| {
             if (decl.dependants.items().len != 0) {
                 decl.deletion_flag = false;
                 continue;
             }
-            try zig_module.deleteDecl(decl);
+            try module.deleteDecl(decl);
         }
     }
 
@@ -701,8 +701,8 @@ pub fn update(self: *Compilation) !void {
     // If there are any errors, we anticipate the source files being loaded
     // to report error messages. Otherwise we unload all source files to save memory.
     if (self.totalErrorCount() == 0 and !self.keep_source_files_loaded) {
-        if (self.bin_file.options.zig_module) |zig_module| {
-            zig_module.root_scope.unload(self.gpa);
+        if (self.bin_file.options.module) |module| {
+            module.root_scope.unload(self.gpa);
         }
     }
 }
@@ -722,10 +722,10 @@ pub fn makeBinFileWritable(self: *Compilation) !void {
 pub fn totalErrorCount(self: *Compilation) usize {
     var total: usize = self.failed_c_objects.items().len;
 
-    if (self.bin_file.options.zig_module) |zig_module| {
-        total += zig_module.failed_decls.items().len +
-            zig_module.failed_exports.items().len +
-            zig_module.failed_files.items().len;
+    if (self.bin_file.options.module) |module| {
+        total += module.failed_decls.items().len +
+            module.failed_exports.items().len +
+            module.failed_files.items().len;
     }
 
     // The "no entry point found" error only counts if there are no other errors.
@@ -748,30 +748,30 @@ pub fn getAllErrorsAlloc(self: *Compilation) !AllErrors {
         const err_msg = entry.value;
         try AllErrors.add(&arena, &errors, c_object.src_path, "", err_msg.*);
     }
-    if (self.bin_file.options.zig_module) |zig_module| {
-        for (zig_module.failed_files.items()) |entry| {
+    if (self.bin_file.options.module) |module| {
+        for (module.failed_files.items()) |entry| {
             const scope = entry.key;
             const err_msg = entry.value;
-            const source = try scope.getSource(zig_module);
+            const source = try scope.getSource(module);
             try AllErrors.add(&arena, &errors, scope.subFilePath(), source, err_msg.*);
         }
-        for (zig_module.failed_decls.items()) |entry| {
+        for (module.failed_decls.items()) |entry| {
             const decl = entry.key;
             const err_msg = entry.value;
-            const source = try decl.scope.getSource(zig_module);
+            const source = try decl.scope.getSource(module);
             try AllErrors.add(&arena, &errors, decl.scope.subFilePath(), source, err_msg.*);
         }
-        for (zig_module.failed_exports.items()) |entry| {
+        for (module.failed_exports.items()) |entry| {
             const decl = entry.key.owner_decl;
             const err_msg = entry.value;
-            const source = try decl.scope.getSource(zig_module);
+            const source = try decl.scope.getSource(module);
             try AllErrors.add(&arena, &errors, decl.scope.subFilePath(), source, err_msg.*);
         }
     }
 
     if (errors.items.len == 0 and self.link_error_flags.no_entry_point_found) {
         const global_err_src_path = blk: {
-            if (self.bin_file.options.zig_module) |zig_module| break :blk zig_module.root_pkg.root_src_path;
+            if (self.bin_file.options.module) |module| break :blk module.root_pkg.root_src_path;
             if (self.c_source_files.len != 0) break :blk self.c_source_files[0].src_path;
             if (self.bin_file.options.objects.len != 0) break :blk self.bin_file.options.objects[0];
             break :blk "(no file)";
@@ -807,10 +807,10 @@ pub fn performAllTheWork(self: *Compilation) error{OutOfMemory}!void {
             => continue,
 
             .complete, .codegen_failure_retryable => {
-                const zig_module = self.bin_file.options.zig_module.?;
+                const module = self.bin_file.options.module.?;
                 if (decl.typed_value.most_recent.typed_value.val.cast(Value.Payload.Function)) |payload| {
                     switch (payload.func.analysis) {
-                        .queued => zig_module.analyzeFnBody(decl, payload.func) catch |err| switch (err) {
+                        .queued => module.analyzeFnBody(decl, payload.func) catch |err| switch (err) {
                             error.AnalysisFail => {
                                 assert(payload.func.analysis != .in_progress);
                                 continue;
@@ -823,23 +823,23 @@ pub fn performAllTheWork(self: *Compilation) error{OutOfMemory}!void {
                     }
                     // Here we tack on additional allocations to the Decl's arena. The allocations are
                     // lifetime annotations in the ZIR.
-                    var decl_arena = decl.typed_value.most_recent.arena.?.promote(zig_module.gpa);
+                    var decl_arena = decl.typed_value.most_recent.arena.?.promote(module.gpa);
                     defer decl.typed_value.most_recent.arena.?.* = decl_arena.state;
                     log.debug("analyze liveness of {}\n", .{decl.name});
-                    try liveness.analyze(zig_module.gpa, &decl_arena.allocator, payload.func.analysis.success);
+                    try liveness.analyze(module.gpa, &decl_arena.allocator, payload.func.analysis.success);
                 }
 
                 assert(decl.typed_value.most_recent.typed_value.ty.hasCodeGenBits());
 
-                self.bin_file.updateDecl(zig_module, decl) catch |err| switch (err) {
+                self.bin_file.updateDecl(module, decl) catch |err| switch (err) {
                     error.OutOfMemory => return error.OutOfMemory,
                     error.AnalysisFail => {
                         decl.analysis = .dependency_failure;
                     },
                     else => {
-                        try zig_module.failed_decls.ensureCapacity(zig_module.gpa, zig_module.failed_decls.items().len + 1);
-                        zig_module.failed_decls.putAssumeCapacityNoClobber(decl, try ErrorMsg.create(
-                            zig_module.gpa,
+                        try module.failed_decls.ensureCapacity(module.gpa, module.failed_decls.items().len + 1);
+                        module.failed_decls.putAssumeCapacityNoClobber(decl, try ErrorMsg.create(
+                            module.gpa,
                             decl.src(),
                             "unable to codegen: {}",
                             .{@errorName(err)},
@@ -850,18 +850,18 @@ pub fn performAllTheWork(self: *Compilation) error{OutOfMemory}!void {
             },
         },
         .analyze_decl => |decl| {
-            const zig_module = self.bin_file.options.zig_module.?;
-            zig_module.ensureDeclAnalyzed(decl) catch |err| switch (err) {
+            const module = self.bin_file.options.module.?;
+            module.ensureDeclAnalyzed(decl) catch |err| switch (err) {
                 error.OutOfMemory => return error.OutOfMemory,
                 error.AnalysisFail => continue,
             };
         },
         .update_line_number => |decl| {
-            const zig_module = self.bin_file.options.zig_module.?;
-            self.bin_file.updateDeclLineNumber(zig_module, decl) catch |err| {
-                try zig_module.failed_decls.ensureCapacity(zig_module.gpa, zig_module.failed_decls.items().len + 1);
-                zig_module.failed_decls.putAssumeCapacityNoClobber(decl, try ErrorMsg.create(
-                    zig_module.gpa,
+            const module = self.bin_file.options.module.?;
+            self.bin_file.updateDeclLineNumber(module, decl) catch |err| {
+                try module.failed_decls.ensureCapacity(module.gpa, module.failed_decls.items().len + 1);
+                module.failed_decls.putAssumeCapacityNoClobber(decl, try ErrorMsg.create(
+                    module.gpa,
                     decl.src(),
                     "unable to update line number: {}",
                     .{@errorName(err)},
@@ -949,7 +949,7 @@ fn updateCObject(comp: *Compilation, c_object: *CObject) !void {
     // Special case when doing build-obj for just one C file. When there are more than one object
     // file and building an object we need to link them together, but with just one it should go
     // directly to the output file.
-    const direct_o = comp.c_source_files.len == 1 and comp.bin_file.options.zig_module == null and
+    const direct_o = comp.c_source_files.len == 1 and comp.bin_file.options.module == null and
         comp.bin_file.options.output_mode == .Obj and comp.bin_file.options.objects.len == 0;
     const o_basename_noext = if (direct_o)
         comp.bin_file.options.root_name
src-self-hosted/ir.zig
@@ -1,7 +1,7 @@
 const std = @import("std");
 const Value = @import("value.zig").Value;
 const Type = @import("type.zig").Type;
-const Module = @import("ZigModule.zig");
+const Module = @import("Module.zig");
 const assert = std.debug.assert;
 const codegen = @import("codegen.zig");
 const ast = std.zig.ast;
src-self-hosted/link.zig
@@ -1,7 +1,7 @@
 const std = @import("std");
 const Allocator = std.mem.Allocator;
 const Compilation = @import("Compilation.zig");
-const ZigModule = @import("ZigModule.zig");
+const Module = @import("Module.zig");
 const fs = std.fs;
 const trace = @import("tracy.zig").trace;
 const Package = @import("Package.zig");
@@ -23,7 +23,7 @@ pub const Options = struct {
     optimize_mode: std.builtin.Mode,
     root_name: []const u8,
     /// Not every Compilation compiles .zig code! For example you could do `zig build-exe foo.o`.
-    zig_module: ?*ZigModule,
+    module: ?*Module,
     dynamic_linker: ?[]const u8 = null,
     /// Used for calculating how much space to reserve for symbols in case the binary file
     /// does not already have a symbol table.
@@ -186,7 +186,7 @@ pub const File = struct {
 
     /// May be called before or after updateDeclExports but must be called
     /// after allocateDeclIndexes for any given Decl.
-    pub fn updateDecl(base: *File, module: *ZigModule, decl: *ZigModule.Decl) !void {
+    pub fn updateDecl(base: *File, module: *Module, decl: *Module.Decl) !void {
         switch (base.tag) {
             .coff => return @fieldParentPtr(Coff, "base", base).updateDecl(module, decl),
             .elf => return @fieldParentPtr(Elf, "base", base).updateDecl(module, decl),
@@ -196,7 +196,7 @@ pub const File = struct {
         }
     }
 
-    pub fn updateDeclLineNumber(base: *File, module: *ZigModule, decl: *ZigModule.Decl) !void {
+    pub fn updateDeclLineNumber(base: *File, module: *Module, decl: *Module.Decl) !void {
         switch (base.tag) {
             .coff => return @fieldParentPtr(Coff, "base", base).updateDeclLineNumber(module, decl),
             .elf => return @fieldParentPtr(Elf, "base", base).updateDeclLineNumber(module, decl),
@@ -207,7 +207,7 @@ pub const File = struct {
 
     /// Must be called before any call to updateDecl or updateDeclExports for
     /// any given Decl.
-    pub fn allocateDeclIndexes(base: *File, decl: *ZigModule.Decl) !void {
+    pub fn allocateDeclIndexes(base: *File, decl: *Module.Decl) !void {
         switch (base.tag) {
             .coff => return @fieldParentPtr(Coff, "base", base).allocateDeclIndexes(decl),
             .elf => return @fieldParentPtr(Elf, "base", base).allocateDeclIndexes(decl),
@@ -271,7 +271,7 @@ pub const File = struct {
         };
     }
 
-    pub fn freeDecl(base: *File, decl: *ZigModule.Decl) void {
+    pub fn freeDecl(base: *File, decl: *Module.Decl) void {
         switch (base.tag) {
             .coff => @fieldParentPtr(Coff, "base", base).freeDecl(decl),
             .elf => @fieldParentPtr(Elf, "base", base).freeDecl(decl),
@@ -295,9 +295,9 @@ pub const File = struct {
     /// allocateDeclIndexes for any given Decl.
     pub fn updateDeclExports(
         base: *File,
-        module: *ZigModule,
-        decl: *const ZigModule.Decl,
-        exports: []const *ZigModule.Export,
+        module: *Module,
+        decl: *const Module.Decl,
+        exports: []const *Module.Export,
     ) !void {
         switch (base.tag) {
             .coff => return @fieldParentPtr(Coff, "base", base).updateDeclExports(module, decl, exports),
@@ -308,7 +308,7 @@ pub const File = struct {
         }
     }
 
-    pub fn getDeclVAddr(base: *File, decl: *const ZigModule.Decl) u64 {
+    pub fn getDeclVAddr(base: *File, decl: *const Module.Decl) u64 {
         switch (base.tag) {
             .coff => return @fieldParentPtr(Coff, "base", base).getDeclVAddr(decl),
             .elf => return @fieldParentPtr(Elf, "base", base).getDeclVAddr(decl),
src-self-hosted/main.zig
@@ -1232,9 +1232,9 @@ fn updateModule(gpa: *Allocator, comp: *Compilation, zir_out_path: ?[]const u8)
     }
 
     if (zir_out_path) |zop| {
-        const zig_module = comp.bin_file.options.zig_module orelse
+        const module = comp.bin_file.options.module orelse
             fatal("-femit-zir with no zig source code", .{});
-        var new_zir_module = try zir.emit(gpa, zig_module);
+        var new_zir_module = try zir.emit(gpa, module);
         defer new_zir_module.deinit(gpa);
 
         const baf = try io.BufferedAtomicFile.create(gpa, fs.cwd(), zop, .{});
src-self-hosted/ZigModule.zig → src-self-hosted/Module.zig
@@ -1,4 +1,3 @@
-//! TODO This is going to get renamed from ZigModule to Module
 const Module = @This();
 const std = @import("std");
 const Compilation = @import("Compilation.zig");
src-self-hosted/test.zig
@@ -549,7 +549,7 @@ pub const TestContext = struct {
                         update_node.estimated_total_items = 5;
                         var emit_node = update_node.start("emit", null);
                         emit_node.activate();
-                        var new_zir_module = try zir.emit(allocator, comp.bin_file.options.zig_module.?);
+                        var new_zir_module = try zir.emit(allocator, comp.bin_file.options.module.?);
                         defer new_zir_module.deinit(allocator);
                         emit_node.end();
 
src-self-hosted/type.zig
@@ -3,7 +3,7 @@ const Value = @import("value.zig").Value;
 const assert = std.debug.assert;
 const Allocator = std.mem.Allocator;
 const Target = std.Target;
-const Module = @import("ZigModule.zig");
+const Module = @import("Module.zig");
 
 /// This is the raw data, with no bookkeeping, no memory awareness, no de-duplication.
 /// It's important for this type to be small.
src-self-hosted/value.zig
@@ -6,7 +6,7 @@ const BigIntConst = std.math.big.int.Const;
 const BigIntMutable = std.math.big.int.Mutable;
 const Target = std.Target;
 const Allocator = std.mem.Allocator;
-const Module = @import("ZigModule.zig");
+const Module = @import("Module.zig");
 
 /// This is the raw data, with no bookkeeping, no memory awareness,
 /// no de-duplication, and no type system awareness.
src-self-hosted/zir.zig
@@ -10,7 +10,7 @@ const Type = @import("type.zig").Type;
 const Value = @import("value.zig").Value;
 const TypedValue = @import("TypedValue.zig");
 const ir = @import("ir.zig");
-const IrModule = @import("ZigModule.zig");
+const IrModule = @import("Module.zig");
 
 /// This struct is relevent only for the ZIR Module text format. It is not used for
 /// semantic analysis of Zig source code.
src-self-hosted/zir_sema.zig
@@ -16,7 +16,7 @@ const TypedValue = @import("TypedValue.zig");
 const assert = std.debug.assert;
 const ir = @import("ir.zig");
 const zir = @import("zir.zig");
-const Module = @import("ZigModule.zig");
+const Module = @import("Module.zig");
 const Inst = ir.Inst;
 const Body = ir.Body;
 const trace = @import("tracy.zig").trace;