Commit a446101677

Jacob Young <jacobly0@users.noreply.github.com>
2025-01-18 07:56:36
x86_64: enable struct field reordering
The blocker for enabling this feature was my need to debug the emitted assembly without debug info and having to manually inspect memory to determine struct contents. However, we now have debug info! (lldb) v -L foo bar 0x00007fffffffda20: (repro.repro.Foo) foo = { 0x00007fffffffda24: .x = 12 0x00007fffffffda20: .y = 34 } 0x00007fffffffda28: (repro.repro.Bar) bar = { 0x00007fffffffda28: .x = 56 0x00007fffffffda2c: .y = 78 } Updates #21530
1 parent 3dadb8c
Changed files (1)
src/target.zig
@@ -720,7 +720,7 @@ pub inline fn backendSupportsFeature(backend: std.builtin.CompilerBackend, compt
             else => false,
         },
         .field_reordering => switch (backend) {
-            .stage2_c, .stage2_llvm => true,
+            .stage2_c, .stage2_llvm, .stage2_x86_64 => true,
             else => false,
         },
         .safety_checked_instructions => switch (backend) {