aboutsummaryrefslogtreecommitdiff
path: root/tools/update_cpu_features.zig
diff options
context:
space:
mode:
authorMartin Wickham <spexguy070@gmail.com>2021-06-03 15:39:26 -0500
committerMartin Wickham <spexguy070@gmail.com>2021-06-03 17:02:16 -0500
commitfc9430f56798a53f9393a697f4ccd6bf9981b970 (patch)
tree69a1a3b359e970349f9466f85a370918d78b7217 /tools/update_cpu_features.zig
parent87dae0ce98fde1957a9290c22866b3101ce419d8 (diff)
downloadzig-fc9430f56798a53f9393a697f4ccd6bf9981b970.tar.gz
zig-fc9430f56798a53f9393a697f4ccd6bf9981b970.zip
Breaking hash map changes for 0.8.0
- hash/eql functions moved into a Context object - *Context functions pass an explicit context - *Adapted functions pass specialized keys and contexts - new getPtr() function returns a pointer to value - remove functions renamed to fetchRemove - new remove functions return bool - removeAssertDiscard deleted, use assert(remove(...)) instead - Keys and values are stored in separate arrays - Entry is now {*K, *V}, the new KV is {K, V} - BufSet/BufMap functions renamed to match other set/map types - fixed iterating-while-modifying bug in src/link/C.zig
Diffstat (limited to 'tools/update_cpu_features.zig')
-rw-r--r--tools/update_cpu_features.zig34
1 files changed, 17 insertions, 17 deletions
diff --git a/tools/update_cpu_features.zig b/tools/update_cpu_features.zig
index c2ddd87f7c..9cda12c63a 100644
--- a/tools/update_cpu_features.zig
+++ b/tools/update_cpu_features.zig
@@ -903,8 +903,8 @@ fn processOneTarget(job: Job) anyerror!void {
var it = root_map.iterator();
root_it: while (it.next()) |kv| {
if (kv.key.len == 0) continue;
- if (kv.key[0] == '!') continue;
- if (kv.value != .Object) continue;
+ if (kv.key.*[0] == '!') continue;
+ if (kv.value.* != .Object) continue;
if (hasSuperclass(&kv.value.Object, "SubtargetFeature")) {
const llvm_name = kv.value.Object.get("Name").?.String;
if (llvm_name.len == 0) continue;
@@ -917,7 +917,7 @@ fn processOneTarget(job: Job) anyerror!void {
const implies = kv.value.Object.get("Implies").?.Array;
for (implies.items) |imply| {
const other_key = imply.Object.get("def").?.String;
- const other_obj = &root_map.getEntry(other_key).?.value.Object;
+ const other_obj = &root_map.getPtr(other_key).?.Object;
const other_llvm_name = other_obj.get("Name").?.String;
const other_zig_name = (try llvmNameToZigNameOmit(
arena,
@@ -969,7 +969,7 @@ fn processOneTarget(job: Job) anyerror!void {
const features = kv.value.Object.get("Features").?.Array;
for (features.items) |feature| {
const feature_key = feature.Object.get("def").?.String;
- const feature_obj = &root_map.getEntry(feature_key).?.value.Object;
+ const feature_obj = &root_map.getPtr(feature_key).?.Object;
const feature_llvm_name = feature_obj.get("Name").?.String;
if (feature_llvm_name.len == 0) continue;
const feature_zig_name = (try llvmNameToZigNameOmit(
@@ -982,7 +982,7 @@ fn processOneTarget(job: Job) anyerror!void {
const tune_features = kv.value.Object.get("TuneFeatures").?.Array;
for (tune_features.items) |feature| {
const feature_key = feature.Object.get("def").?.String;
- const feature_obj = &root_map.getEntry(feature_key).?.value.Object;
+ const feature_obj = &root_map.getPtr(feature_key).?.Object;
const feature_llvm_name = feature_obj.get("Name").?.String;
if (feature_llvm_name.len == 0) continue;
const feature_zig_name = (try llvmNameToZigNameOmit(
@@ -1109,9 +1109,9 @@ fn processOneTarget(job: Job) anyerror!void {
try pruneFeatures(arena, features_table, &deps_set);
var dependencies = std.ArrayList([]const u8).init(arena);
{
- var it = deps_set.iterator();
- while (it.next()) |entry| {
- try dependencies.append(entry.key);
+ var it = deps_set.keyIterator();
+ while (it.next()) |key| {
+ try dependencies.append(key.*);
}
}
std.sort.sort([]const u8, dependencies.items, {}, asciiLessThan);
@@ -1154,9 +1154,9 @@ fn processOneTarget(job: Job) anyerror!void {
try pruneFeatures(arena, features_table, &deps_set);
var cpu_features = std.ArrayList([]const u8).init(arena);
{
- var it = deps_set.iterator();
- while (it.next()) |entry| {
- try cpu_features.append(entry.key);
+ var it = deps_set.keyIterator();
+ while (it.next()) |key| {
+ try cpu_features.append(key.*);
}
}
std.sort.sort([]const u8, cpu_features.items, {}, asciiLessThan);
@@ -1278,16 +1278,16 @@ fn pruneFeatures(
// Then, iterate over the deletion set and delete all that stuff from `deps_set`.
var deletion_set = std.StringHashMap(void).init(arena);
{
- var it = deps_set.iterator();
- while (it.next()) |entry| {
- const feature = features_table.get(entry.key).?;
+ var it = deps_set.keyIterator();
+ while (it.next()) |key| {
+ const feature = features_table.get(key.*).?;
try walkFeatures(features_table, &deletion_set, feature);
}
}
{
- var it = deletion_set.iterator();
- while (it.next()) |entry| {
- _ = deps_set.remove(entry.key);
+ var it = deletion_set.keyIterator();
+ while (it.next()) |key| {
+ _ = deps_set.remove(key.*);
}
}
}