aboutsummaryrefslogtreecommitdiff
path: root/src/target.zig
diff options
context:
space:
mode:
authorDavid Rubin <daviru007@icloud.com>2024-04-03 00:15:56 -0700
committerDavid Rubin <daviru007@icloud.com>2024-05-11 02:17:11 -0700
commit6740c1f0849dd2615859e4d65df355087165e073 (patch)
tree71e28e23a53dea1dd6a882a2c737ed1ad3a3c14c /src/target.zig
parent9d0bb6371df31dd25e86b7ef4161852740f39f07 (diff)
downloadzig-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.zig2
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,