.github/workflows/ci.yaml | 8 + CMakeLists.txt | 2 +- build.zig | 52 +- ci/x86_64-linux-debug-llvm.sh | 70 +++ ci/x86_64-linux-debug.sh | 43 +- doc/langref/test_global_assembly.zig | 1 + lib/std/Target.zig | 6 +- lib/std/builtin.zig | 15 +- lib/std/dynamic_library.zig | 13 +- lib/std/pie.zig | 343 +++++------ lib/std/start.zig | 12 +- lib/std/zig/llvm/Builder.zig | 12 + lib/zig.h | 9 + src/Air.zig | 14 +- src/Air/Legalize.zig | 2 +- src/Air/Liveness.zig | 4 +- src/Air/Liveness/Verify.zig | 2 +- src/Air/print.zig | 1041 ++++++++++++++++++++++++++++++++ src/Air/types_resolved.zig | 2 +- src/Compilation.zig | 15 +- src/Compilation/Config.zig | 238 ++++---- src/IncrementalDebugServer.zig | 2 +- src/InternPool.zig | 120 ++-- src/Sema.zig | 59 +- src/Zcu.zig | 12 +- src/Zcu/PerThread.zig | 50 +- src/arch/aarch64/CodeGen.zig | 2 +- src/arch/arm/CodeGen.zig | 2 +- src/arch/riscv64/CodeGen.zig | 13 +- src/arch/sparc64/CodeGen.zig | 2 +- src/arch/wasm/CodeGen.zig | 4 +- src/arch/x86_64/CodeGen.zig | 243 ++++++-- src/arch/x86_64/Emit.zig | 17 +- src/arch/x86_64/Lower.zig | 21 +- src/arch/x86_64/Mir.zig | 5 +- src/arch/x86_64/bits.zig | 1 + src/arch/x86_64/encoder.zig | 7 +- src/codegen.zig | 81 ++- src/codegen/c.zig | 34 +- src/codegen/llvm.zig | 123 ++-- src/libs/libcxx.zig | 4 +- src/libs/libtsan.zig | 2 +- src/libs/libunwind.zig | 2 +- src/libs/musl.zig | 2 +- src/link/Dwarf.zig | 54 +- src/link/Elf.zig | 42 +- src/link/Elf/Atom.zig | 6 +- src/link/Elf/ZigObject.zig | 1 + src/link/Wasm.zig | 2 +- src/main.zig | 4 +- src/print_air.zig | 1038 ------------------------------- src/target.zig | 4 + test/behavior/math.zig | 1 + test/behavior/switch.zig | 9 + test/cases/compile_errors/@import_zon_bad_type.zig | 6 +- test/cases/compile_errors/anytype_param_requires_comptime.zig | 2 +- test/cases/compile_errors/bogus_method_call_on_slice.zig | 2 +- test/cases/compile_errors/coerce_anon_struct.zig | 2 +- test/cases/compile_errors/redundant_try.zig | 4 +- test/link/bss/main.zig | 7 +- test/src/Debugger.zig | 1 - test/standalone/mix_c_files/build.zig | 2 + test/standalone/stack_iterator/build.zig | 6 + test/tests.zig | 67 +- tools/doctest.zig | 45 +- 65 files changed, 2280 insertions(+), 1737 deletions(-)