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 {...@@ -1737,10 +1737,11 @@ fn processOneTarget(job: Job) void {
1737 const collate_progress = progress_node.start("collating LLVM data", 0);1737 const collate_progress = progress_node.start("collating LLVM data", 0);
17381738
1739 // So far, LLVM only has a few aliases for the same CPU.1739 // 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 {
1741 llvm: []const u8,1741 llvm: []const u8,
1742 zig: []const u8,1742 zig: []const u8,
1743 }, 4)).init(arena);1743 };
1744 var cpu_aliases = std.StringHashMap(std.ArrayList(*Alias)).init(arena);
17441745
1745 {1746 {
1746 var it = root_map.iterator();1747 var it = root_map.iterator();
...@@ -1756,12 +1757,16 @@ fn processOneTarget(job: Job) void {...@@ -1756,12 +1757,16 @@ fn processOneTarget(job: Job) void {
17561757
1757 const gop = try cpu_aliases.getOrPut(try llvmNameToZigName(arena, llvm_name));1758 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.* = .{
1762 .llvm = llvm_alias,1766 .llvm = llvm_alias,
1763 .zig = try llvmNameToZigName(arena, llvm_alias),1767 .zig = try llvmNameToZigName(arena, llvm_alias),
1764 });1768 };
1769 try gop.value_ptr.append(arena, alias);
1765 }1770 }
1766 }1771 }
1767 }1772 }
...@@ -1918,9 +1923,7 @@ fn processOneTarget(job: Job) void {...@@ -1918,9 +1923,7 @@ fn processOneTarget(job: Job) void {
1918 });1923 });
19191924
1920 if (cpu_aliases.get(zig_name)) |aliases| {1925 if (cpu_aliases.get(zig_name)) |aliases| {
1921 var alias_it = aliases.constIterator(0);1926 alias_it: for (aliases.items) |alias| {
1922
1923 alias_it: while (alias_it.next()) |alias| {
1924 for (target.omit_cpus) |omit_cpu_name| {1927 for (target.omit_cpus) |omit_cpu_name| {
1925 if (mem.eql(u8, omit_cpu_name, alias.llvm)) continue :alias_it;1928 if (mem.eql(u8, omit_cpu_name, alias.llvm)) continue :alias_it;
1926 }1929 }