mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 13:54:21 +00:00
tools/update_cpu_features: branch quota where necessary
also avoid unnecessary escaping of single quotes inside double quoted strings (depends on a master branch commit that will be merged into this branch in a future commit)
This commit is contained in:
parent
2733ca91b2
commit
a804944c7d
1 changed files with 12 additions and 9 deletions
|
|
@ -24,6 +24,7 @@ const llvm_targets = [_]LlvmTarget{
|
||||||
.zig_name = "aarch64",
|
.zig_name = "aarch64",
|
||||||
.llvm_name = "AArch64",
|
.llvm_name = "AArch64",
|
||||||
.td_name = "AArch64.td",
|
.td_name = "AArch64.td",
|
||||||
|
.branch_quota = 2000,
|
||||||
.feature_overrides = &.{
|
.feature_overrides = &.{
|
||||||
.{
|
.{
|
||||||
.llvm_name = "CONTEXTIDREL2",
|
.llvm_name = "CONTEXTIDREL2",
|
||||||
|
|
@ -46,6 +47,7 @@ const llvm_targets = [_]LlvmTarget{
|
||||||
.zig_name = "arm",
|
.zig_name = "arm",
|
||||||
.llvm_name = "ARM",
|
.llvm_name = "ARM",
|
||||||
.td_name = "ARM.td",
|
.td_name = "ARM.td",
|
||||||
|
.branch_quota = 10000,
|
||||||
},
|
},
|
||||||
.{
|
.{
|
||||||
.zig_name = "avr",
|
.zig_name = "avr",
|
||||||
|
|
@ -338,7 +340,7 @@ fn processOneTarget(job: Job) anyerror!void {
|
||||||
for (all_features.items) |obj| {
|
for (all_features.items) |obj| {
|
||||||
const llvm_name = obj.get("Name").?.String;
|
const llvm_name = obj.get("Name").?.String;
|
||||||
const zig_name = try llvmNameToZigName(arena, llvm_target, llvm_name);
|
const zig_name = try llvmNameToZigName(arena, llvm_target, llvm_name);
|
||||||
try w.print(" {s},\n", .{std.zig.fmtId(zig_name)});
|
try w.print(" {},\n", .{std.zig.fmtId(zig_name)});
|
||||||
}
|
}
|
||||||
|
|
||||||
try w.writeAll(
|
try w.writeAll(
|
||||||
|
|
@ -347,6 +349,7 @@ fn processOneTarget(job: Job) anyerror!void {
|
||||||
\\pub usingnamespace CpuFeature.feature_set_fns(Feature);
|
\\pub usingnamespace CpuFeature.feature_set_fns(Feature);
|
||||||
\\
|
\\
|
||||||
\\pub const all_features = blk: {
|
\\pub const all_features = blk: {
|
||||||
|
\\
|
||||||
);
|
);
|
||||||
if (llvm_target.branch_quota) |branch_quota| {
|
if (llvm_target.branch_quota) |branch_quota| {
|
||||||
try w.print(" @setEvalBranchQuota({d});\n", .{branch_quota});
|
try w.print(" @setEvalBranchQuota({d});\n", .{branch_quota});
|
||||||
|
|
@ -363,9 +366,9 @@ fn processOneTarget(job: Job) anyerror!void {
|
||||||
const description = obj.get("Desc").?.String;
|
const description = obj.get("Desc").?.String;
|
||||||
const zig_name = try llvmNameToZigName(arena, llvm_target, llvm_name);
|
const zig_name = try llvmNameToZigName(arena, llvm_target, llvm_name);
|
||||||
try w.print(
|
try w.print(
|
||||||
\\ result[@enumToInt(Feature.{s})] = .{{
|
\\ result[@enumToInt(Feature.{})] = .{{
|
||||||
\\ .llvm_name = "{s}",
|
\\ .llvm_name = "{}",
|
||||||
\\ .description = "{s}",
|
\\ .description = "{}",
|
||||||
\\ .dependencies = featureSet(&[_]Feature{{
|
\\ .dependencies = featureSet(&[_]Feature{{
|
||||||
,
|
,
|
||||||
.{
|
.{
|
||||||
|
|
@ -394,7 +397,7 @@ fn processOneTarget(job: Job) anyerror!void {
|
||||||
for (dependencies.items) |dep| {
|
for (dependencies.items) |dep| {
|
||||||
const other_llvm_name = dep.get("Name").?.String;
|
const other_llvm_name = dep.get("Name").?.String;
|
||||||
const other_zig_name = try llvmNameToZigName(arena, llvm_target, other_llvm_name);
|
const other_zig_name = try llvmNameToZigName(arena, llvm_target, other_llvm_name);
|
||||||
try w.print(" .{s},\n", .{std.zig.fmtId(other_zig_name)});
|
try w.print(" .{},\n", .{std.zig.fmtId(other_zig_name)});
|
||||||
}
|
}
|
||||||
try w.writeAll(
|
try w.writeAll(
|
||||||
\\ }),
|
\\ }),
|
||||||
|
|
@ -439,9 +442,9 @@ fn processOneTarget(job: Job) anyerror!void {
|
||||||
std.sort.sort(*json.ObjectMap, cpu_features.items, {}, objectLessThan);
|
std.sort.sort(*json.ObjectMap, cpu_features.items, {}, objectLessThan);
|
||||||
const zig_cpu_name = try llvmNameToZigName(arena, llvm_target, llvm_name);
|
const zig_cpu_name = try llvmNameToZigName(arena, llvm_target, llvm_name);
|
||||||
try w.print(
|
try w.print(
|
||||||
\\ pub const {s} = CpuModel{{
|
\\ pub const {} = CpuModel{{
|
||||||
\\ .name = "{s}",
|
\\ .name = "{}",
|
||||||
\\ .llvm_name = "{s}",
|
\\ .llvm_name = "{}",
|
||||||
\\ .features = featureSet(&[_]Feature{{
|
\\ .features = featureSet(&[_]Feature{{
|
||||||
, .{
|
, .{
|
||||||
std.zig.fmtId(zig_cpu_name),
|
std.zig.fmtId(zig_cpu_name),
|
||||||
|
|
@ -459,7 +462,7 @@ fn processOneTarget(job: Job) anyerror!void {
|
||||||
for (cpu_features.items) |feature_obj| {
|
for (cpu_features.items) |feature_obj| {
|
||||||
const feature_llvm_name = feature_obj.get("Name").?.String;
|
const feature_llvm_name = feature_obj.get("Name").?.String;
|
||||||
const feature_zig_name = try llvmNameToZigName(arena, llvm_target, feature_llvm_name);
|
const feature_zig_name = try llvmNameToZigName(arena, llvm_target, feature_llvm_name);
|
||||||
try w.print(" .{s},\n", .{std.zig.fmtId(feature_zig_name)});
|
try w.print(" .{},\n", .{std.zig.fmtId(feature_zig_name)});
|
||||||
}
|
}
|
||||||
try w.writeAll(
|
try w.writeAll(
|
||||||
\\ }),
|
\\ }),
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue