| ... | ... | @@ -24,6 +24,7 @@ const llvm_targets = [_]LlvmTarget{ |
| 24 | 24 | .zig_name = "aarch64", |
| 25 | 25 | .llvm_name = "AArch64", |
| 26 | 26 | .td_name = "AArch64.td", |
| 27 | .branch_quota = 2000, |
| 27 | 28 | .feature_overrides = &.{ |
| 28 | 29 | .{ |
| 29 | 30 | .llvm_name = "CONTEXTIDREL2", |
| ... | ... | @@ -46,6 +47,7 @@ const llvm_targets = [_]LlvmTarget{ |
| 46 | 47 | .zig_name = "arm", |
| 47 | 48 | .llvm_name = "ARM", |
| 48 | 49 | .td_name = "ARM.td", |
| 50 | .branch_quota = 10000, |
| 49 | 51 | }, |
| 50 | 52 | .{ |
| 51 | 53 | .zig_name = "avr", |
| ... | ... | @@ -338,7 +340,7 @@ fn processOneTarget(job: Job) anyerror!void { |
| 338 | 340 | for (all_features.items) |obj| { |
| 339 | 341 | const llvm_name = obj.get("Name").?.String; |
| 340 | 342 | const zig_name = try llvmNameToZigName(arena, llvm_target, llvm_name); |
| 341 | | try w.print(" {s},\n", .{std.zig.fmtId(zig_name)}); |
| 343 | try w.print(" {},\n", .{std.zig.fmtId(zig_name)}); |
| 342 | 344 | } |
| 343 | 345 | |
| 344 | 346 | try w.writeAll( |
| ... | ... | @@ -347,6 +349,7 @@ fn processOneTarget(job: Job) anyerror!void { |
| 347 | 349 | \\pub usingnamespace CpuFeature.feature_set_fns(Feature); |
| 348 | 350 | \\ |
| 349 | 351 | \\pub const all_features = blk: { |
| 352 | \\ |
| 350 | 353 | ); |
| 351 | 354 | if (llvm_target.branch_quota) |branch_quota| { |
| 352 | 355 | try w.print(" @setEvalBranchQuota({d});\n", .{branch_quota}); |
| ... | ... | @@ -363,9 +366,9 @@ fn processOneTarget(job: Job) anyerror!void { |
| 363 | 366 | const description = obj.get("Desc").?.String; |
| 364 | 367 | const zig_name = try llvmNameToZigName(arena, llvm_target, llvm_name); |
| 365 | 368 | try w.print( |
| 366 | | \\ result[@enumToInt(Feature.{s})] = .{{ |
| 367 | | \\ .llvm_name = "{s}", |
| 368 | | \\ .description = "{s}", |
| 369 | \\ result[@enumToInt(Feature.{})] = .{{ |
| 370 | \\ .llvm_name = "{}", |
| 371 | \\ .description = "{}", |
| 369 | 372 | \\ .dependencies = featureSet(&[_]Feature{{ |
| 370 | 373 | , |
| 371 | 374 | .{ |
| ... | ... | @@ -394,7 +397,7 @@ fn processOneTarget(job: Job) anyerror!void { |
| 394 | 397 | for (dependencies.items) |dep| { |
| 395 | 398 | const other_llvm_name = dep.get("Name").?.String; |
| 396 | 399 | const other_zig_name = try llvmNameToZigName(arena, llvm_target, other_llvm_name); |
| 397 | | try w.print(" .{s},\n", .{std.zig.fmtId(other_zig_name)}); |
| 400 | try w.print(" .{},\n", .{std.zig.fmtId(other_zig_name)}); |
| 398 | 401 | } |
| 399 | 402 | try w.writeAll( |
| 400 | 403 | \\ }), |
| ... | ... | @@ -439,9 +442,9 @@ fn processOneTarget(job: Job) anyerror!void { |
| 439 | 442 | std.sort.sort(*json.ObjectMap, cpu_features.items, {}, objectLessThan); |
| 440 | 443 | const zig_cpu_name = try llvmNameToZigName(arena, llvm_target, llvm_name); |
| 441 | 444 | try w.print( |
| 442 | | \\ pub const {s} = CpuModel{{ |
| 443 | | \\ .name = "{s}", |
| 444 | | \\ .llvm_name = "{s}", |
| 445 | \\ pub const {} = CpuModel{{ |
| 446 | \\ .name = "{}", |
| 447 | \\ .llvm_name = "{}", |
| 445 | 448 | \\ .features = featureSet(&[_]Feature{{ |
| 446 | 449 | , .{ |
| 447 | 450 | std.zig.fmtId(zig_cpu_name), |
| ... | ... | @@ -459,7 +462,7 @@ fn processOneTarget(job: Job) anyerror!void { |
| 459 | 462 | for (cpu_features.items) |feature_obj| { |
| 460 | 463 | const feature_llvm_name = feature_obj.get("Name").?.String; |
| 461 | 464 | const feature_zig_name = try llvmNameToZigName(arena, llvm_target, feature_llvm_name); |
| 462 | | try w.print(" .{s},\n", .{std.zig.fmtId(feature_zig_name)}); |
| 465 | try w.print(" .{},\n", .{std.zig.fmtId(feature_zig_name)}); |
| 463 | 466 | } |
| 464 | 467 | try w.writeAll( |
| 465 | 468 | \\ }), |