Commit 6c33e10
committed
shard: fix COFF anon dups, module-asm routing, cross-shard @export aliases; IES yield
- llvm/Builder.zig + ir.zig: add COMDAT support (MODULE_CODE_COMDAT
records, Variable.comdat field, addComdat). Required for COFF — without
comdat any, linkonce_odr emits as a strong def per shard and lld-link
rejects ~350 duplicate __anon_* symbols.
- codegen/llvm.zig resolveGlobalUav/updateExportedValue: setComdat(.any)
on COFF for sharded linkonce_odr uavs.
- Zcu.navShard: switch from fqn-hash to file-hash via File.computeShard;
add analUnitShard mapping comptime/nav/func units to their file's shard.
- codegen/llvm.zig genModuleLevelAssembly: route each global asm block to
its source file's shard so .set aliases resolve against same-module defs.
- codegen/llvm.zig PartitionSet.updateExports: broadcast to all shards;
Object.updateExports collapses non-owner extern globals onto one
canonical decl so InstCombine cannot fold &a==&b to false pre-link.
- Zcu.isClaimedByOther + Sema.resolveInferredErrorSet: when the IES func
is claimed by another thread, set tls_retry_loop and yield (cap 8)
instead of parking in claimOrWait. Reuses existing requeue path.1 parent a59bd0a commit 6c33e10
File tree
5 files changed
+232
-20
lines changed- lib/std/zig/llvm
- src
- codegen
5 files changed
+232
-20
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
| 45 | + | |
45 | 46 | | |
46 | 47 | | |
47 | 48 | | |
| |||
2513 | 2514 | | |
2514 | 2515 | | |
2515 | 2516 | | |
| 2517 | + | |
| 2518 | + | |
| 2519 | + | |
| 2520 | + | |
| 2521 | + | |
| 2522 | + | |
| 2523 | + | |
| 2524 | + | |
| 2525 | + | |
| 2526 | + | |
| 2527 | + | |
| 2528 | + | |
| 2529 | + | |
| 2530 | + | |
| 2531 | + | |
| 2532 | + | |
| 2533 | + | |
| 2534 | + | |
| 2535 | + | |
| 2536 | + | |
| 2537 | + | |
| 2538 | + | |
| 2539 | + | |
| 2540 | + | |
2516 | 2541 | | |
2517 | 2542 | | |
2518 | 2543 | | |
2519 | 2544 | | |
2520 | 2545 | | |
2521 | 2546 | | |
| 2547 | + | |
2522 | 2548 | | |
2523 | 2549 | | |
2524 | 2550 | | |
| |||
2595 | 2621 | | |
2596 | 2622 | | |
2597 | 2623 | | |
| 2624 | + | |
| 2625 | + | |
| 2626 | + | |
| 2627 | + | |
2598 | 2628 | | |
2599 | 2629 | | |
2600 | 2630 | | |
| |||
8603 | 8633 | | |
8604 | 8634 | | |
8605 | 8635 | | |
| 8636 | + | |
8606 | 8637 | | |
8607 | 8638 | | |
8608 | 8639 | | |
| |||
8752 | 8783 | | |
8753 | 8784 | | |
8754 | 8785 | | |
| 8786 | + | |
8755 | 8787 | | |
8756 | 8788 | | |
8757 | 8789 | | |
| |||
9007 | 9039 | | |
9008 | 9040 | | |
9009 | 9041 | | |
| 9042 | + | |
| 9043 | + | |
| 9044 | + | |
| 9045 | + | |
| 9046 | + | |
| 9047 | + | |
| 9048 | + | |
| 9049 | + | |
| 9050 | + | |
| 9051 | + | |
9010 | 9052 | | |
9011 | 9053 | | |
9012 | 9054 | | |
| |||
9564 | 9606 | | |
9565 | 9607 | | |
9566 | 9608 | | |
| 9609 | + | |
| 9610 | + | |
| 9611 | + | |
| 9612 | + | |
| 9613 | + | |
| 9614 | + | |
| 9615 | + | |
| 9616 | + | |
9567 | 9617 | | |
9568 | 9618 | | |
9569 | 9619 | | |
| |||
9572 | 9622 | | |
9573 | 9623 | | |
9574 | 9624 | | |
9575 | | - | |
| 9625 | + | |
9576 | 9626 | | |
9577 | 9627 | | |
9578 | 9628 | | |
| |||
9589 | 9639 | | |
9590 | 9640 | | |
9591 | 9641 | | |
| 9642 | + | |
9592 | 9643 | | |
9593 | 9644 | | |
9594 | 9645 | | |
| |||
13663 | 13714 | | |
13664 | 13715 | | |
13665 | 13716 | | |
| 13717 | + | |
| 13718 | + | |
| 13719 | + | |
| 13720 | + | |
| 13721 | + | |
| 13722 | + | |
| 13723 | + | |
| 13724 | + | |
| 13725 | + | |
| 13726 | + | |
| 13727 | + | |
| 13728 | + | |
13666 | 13729 | | |
13667 | 13730 | | |
13668 | 13731 | | |
| |||
13706 | 13769 | | |
13707 | 13770 | | |
13708 | 13771 | | |
| 13772 | + | |
13709 | 13773 | | |
13710 | 13774 | | |
13711 | 13775 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
193 | 193 | | |
194 | 194 | | |
195 | 195 | | |
| 196 | + | |
196 | 197 | | |
197 | 198 | | |
198 | 199 | | |
| |||
211 | 212 | | |
212 | 213 | | |
213 | 214 | | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
214 | 227 | | |
215 | 228 | | |
216 | 229 | | |
| |||
233 | 246 | | |
234 | 247 | | |
235 | 248 | | |
236 | | - | |
| 249 | + | |
237 | 250 | | |
238 | 251 | | |
239 | 252 | | |
| |||
250 | 263 | | |
251 | 264 | | |
252 | 265 | | |
| 266 | + | |
253 | 267 | | |
254 | 268 | | |
255 | 269 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35280 | 35280 | | |
35281 | 35281 | | |
35282 | 35282 | | |
35283 | | - | |
| 35283 | + | |
| 35284 | + | |
| 35285 | + | |
| 35286 | + | |
| 35287 | + | |
| 35288 | + | |
| 35289 | + | |
| 35290 | + | |
| 35291 | + | |
| 35292 | + | |
| 35293 | + | |
| 35294 | + | |
| 35295 | + | |
| 35296 | + | |
| 35297 | + | |
| 35298 | + | |
| 35299 | + | |
| 35300 | + | |
| 35301 | + | |
| 35302 | + | |
| 35303 | + | |
| 35304 | + | |
| 35305 | + | |
| 35306 | + | |
35284 | 35307 | | |
35285 | 35308 | | |
35286 | 35309 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3742 | 3742 | | |
3743 | 3743 | | |
3744 | 3744 | | |
| 3745 | + | |
| 3746 | + | |
| 3747 | + | |
| 3748 | + | |
| 3749 | + | |
| 3750 | + | |
| 3751 | + | |
| 3752 | + | |
| 3753 | + | |
| 3754 | + | |
| 3755 | + | |
| 3756 | + | |
| 3757 | + | |
3745 | 3758 | | |
3746 | 3759 | | |
3747 | 3760 | | |
| |||
4650 | 4663 | | |
4651 | 4664 | | |
4652 | 4665 | | |
| 4666 | + | |
| 4667 | + | |
| 4668 | + | |
| 4669 | + | |
| 4670 | + | |
| 4671 | + | |
| 4672 | + | |
| 4673 | + | |
| 4674 | + | |
4653 | 4675 | | |
4654 | 4676 | | |
4655 | | - | |
4656 | | - | |
| 4677 | + | |
| 4678 | + | |
| 4679 | + | |
| 4680 | + | |
| 4681 | + | |
| 4682 | + | |
| 4683 | + | |
| 4684 | + | |
| 4685 | + | |
| 4686 | + | |
4657 | 4687 | | |
4658 | 4688 | | |
4659 | 4689 | | |
| |||
0 commit comments