Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove "slow target" flag for mips(el)-linux targets in tests with LLVM 20 #21096

Open
Tracked by #22014
alexrp opened this issue Aug 16, 2024 · 2 comments
Open
Tracked by #22014
Assignees
Labels
arch-mips 32-bit and 64-bit MIPS backend-llvm The LLVM backend outputs an LLVM IR Module. bug Observed behavior contradicts documented or intended behavior upstream An issue with a third party project that Zig uses.
Milestone

Comments

@alexrp
Copy link
Member

alexrp commented Aug 16, 2024

Right now, we're flagging these targets as slow by default, causing them to not get run in tests unless -Dtest-slow-targets is passed.

zig/test/tests.zig

Lines 313 to 365 in 11176d2

.{
.target = .{
.cpu_arch = .mips,
.os_tag = .linux,
.abi = .none,
},
.slow_backend = true,
},
.{
.target = .{
.cpu_arch = .mips,
.os_tag = .linux,
.abi = .musl,
},
.link_libc = true,
.slow_backend = true,
},
.{
.target = .{
.cpu_arch = .mips,
.os_tag = .linux,
.abi = .gnueabihf,
},
.link_libc = true,
.slow_backend = true,
},
.{
.target = .{
.cpu_arch = .mipsel,
.os_tag = .linux,
.abi = .none,
},
.slow_backend = true,
},
.{
.target = .{
.cpu_arch = .mipsel,
.os_tag = .linux,
.abi = .musl,
},
.link_libc = true,
.slow_backend = true,
},
.{
.target = .{
.cpu_arch = .mipsel,
.os_tag = .linux,
.abi = .gnueabihf,
},
.link_libc = true,
.slow_backend = true,
},

We do this because it takes 30-60 minutes to compile the tests for these targets due to a severe LLVM performance issue. The upstream issue is filed here: llvm/llvm-project#104562

This issue is to track removing the "slow target" flag from these if/when the LLVM bug gets fixed.

@andrewrk andrewrk added upstream An issue with a third party project that Zig uses. backend-llvm The LLVM backend outputs an LLVM IR Module. labels Aug 16, 2024
@andrewrk andrewrk added this to the unplanned milestone Aug 16, 2024
@alexrp
Copy link
Member Author

alexrp commented Aug 19, 2024

Bad news: #21125

Good news: llvm/llvm-project#104723

@alexrp
Copy link
Member Author

alexrp commented Sep 17, 2024

The LLVM 19 backport for this was rejected, so this will have to wait until LLVM 20.

@alexrp alexrp changed the title Remove "slow target" flag for mips(el)-linux targets in tests Remove "slow target" flag for mips(el)-linux targets in tests with LLVM 20 Sep 17, 2024
@alexrp alexrp modified the milestones: unplanned, 0.15.0 Oct 3, 2024
@alexrp alexrp self-assigned this Oct 3, 2024
@alexrp alexrp added bug Observed behavior contradicts documented or intended behavior arch-mips 32-bit and 64-bit MIPS labels Oct 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-mips 32-bit and 64-bit MIPS backend-llvm The LLVM backend outputs an LLVM IR Module. bug Observed behavior contradicts documented or intended behavior upstream An issue with a third party project that Zig uses.
Projects
None yet
Development

No branches or pull requests

2 participants