diff options
| author | David Rubin <daviru007@icloud.com> | 2024-04-03 00:15:56 -0700 |
|---|---|---|
| committer | David Rubin <daviru007@icloud.com> | 2024-05-11 02:17:11 -0700 |
| commit | 6740c1f0849dd2615859e4d65df355087165e073 (patch) | |
| tree | 71e28e23a53dea1dd6a882a2c737ed1ad3a3c14c /src/target.zig | |
| parent | 9d0bb6371df31dd25e86b7ef4161852740f39f07 (diff) | |
| download | zig-6740c1f0849dd2615859e4d65df355087165e073.tar.gz zig-6740c1f0849dd2615859e4d65df355087165e073.zip | |
riscv: big rewrite to use latest liveness
this one is even harder to document then the last large overhaul.
TLDR;
- split apart Emit.zig into an Emit.zig and a Lower.zig
- created seperate files for the encoding, and now adding a new instruction
is as simple as just adding it to a couple of switch statements and providing the encoding.
- relocs are handled in a more sane maner, and we have a clear defining boundary between
lea_symbol and load_symbol now.
- a lot of different abstractions for things like the stack, memory, registers, and others.
- we're using x86_64's FrameIndex now, which simplifies a lot of the tougher design process.
- a lot more that I don't have the energy to document. at this point, just read the commit itself :p
Diffstat (limited to 'src/target.zig')
| -rw-r--r-- | src/target.zig | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/target.zig b/src/target.zig index 8f61b2ba03..ea58111bc1 100644 --- a/src/target.zig +++ b/src/target.zig @@ -526,7 +526,7 @@ pub fn backendSupportsFeature( feature: Feature, ) bool { return switch (feature) { - .panic_fn => ofmt == .c or use_llvm or cpu_arch == .x86_64 or cpu_arch == .riscv64, + .panic_fn => ofmt == .c or use_llvm or cpu_arch == .x86_64, .panic_unwrap_error => ofmt == .c or use_llvm, .safety_check_formatted => ofmt == .c or use_llvm, .error_return_trace => use_llvm, |
