authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-09-19 16:39:36-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-09-19 16:40:00-07:00
log4a38d783e8ebf2ab94f9f322de2584bfc8a133e3
tree0541f3e235eca34e48faf0085a26ffabb78e541f
parent164c598cd85092323ef16640fd533d325fa74944

tools: eliminate dependency on std.SegmentedList


1 files changed, 11 insertions(+), 8 deletions(-)

tools/update_cpu_features.zig+11-8
......@@ -1737,10 +1737,11 @@ fn processOneTarget(job: Job) void {
17371737 const collate_progress = progress_node.start("collating LLVM data", 0);
17381738
17391739 // So far, LLVM only has a few aliases for the same CPU.
1740 var cpu_aliases = std.StringHashMap(std.SegmentedList(struct {
1740 const Alias = struct {
17411741 llvm: []const u8,
17421742 zig: []const u8,
1743 }, 4)).init(arena);
1743 };
1744 var cpu_aliases = std.StringHashMap(std.ArrayList(*Alias)).init(arena);
17441745
17451746 {
17461747 var it = root_map.iterator();
......@@ -1756,12 +1757,16 @@ fn processOneTarget(job: Job) void {
17561757
17571758 const gop = try cpu_aliases.getOrPut(try llvmNameToZigName(arena, llvm_name));
17581759
1759 if (!gop.found_existing) gop.value_ptr.* = .{};
1760 if (!gop.found_existing) {
1761 gop.value_ptr.* = .empty;
1762 }
17601763
1761 try gop.value_ptr.append(arena, .{
1764 const alias = try arena.create(Alias);
1765 alias.* = .{
17621766 .llvm = llvm_alias,
17631767 .zig = try llvmNameToZigName(arena, llvm_alias),
1764 });
1768 };
1769 try gop.value_ptr.append(arena, alias);
17651770 }
17661771 }
17671772 }
......@@ -1918,9 +1923,7 @@ fn processOneTarget(job: Job) void {
19181923 });
19191924
19201925 if (cpu_aliases.get(zig_name)) |aliases| {
1921 var alias_it = aliases.constIterator(0);
1922
1923 alias_it: while (alias_it.next()) |alias| {
1926 alias_it: for (aliases.items) |alias| {
19241927 for (target.omit_cpus) |omit_cpu_name| {
19251928 if (mem.eql(u8, omit_cpu_name, alias.llvm)) continue :alias_it;
19261929 }