David Rubin
350ad90cee
riscv: totally rewrite how we do loads and stores
...
this commit is a little too large to document fully, however the main gist of it this
- finish the `genInlineMemcpy` implement
- rename `setValue` to `genCopy` as I agree with jacob that it's a better name
- add in `genVarDbgInfo` for a better gdb experience
- follow the x86_64's method for genCall, as the procedure is very similar for us
- add `airSliceLen` as it's trivial
- change up the `airAddWithOverflow implementation a bit
- make sure to not spill of the elem_ty is 0 size
- correctly follow the RISC-V calling convention and spill the used calle saved registers in the prologue
and restore them in the epilogue
- add `address`, `deref`, and `offset` helper functions for MCValue. I must say I love these,
they make the code very readable and super verbose :)
- fix a `register_manager.zig` issue where when using the last register in the set, the value would overflow at comptime.
was happening because we were adding to `max_id` before subtracting from it.
2024-05-11 02:17:11 -07:00
..
2024-05-05 15:58:08 -04:00
2024-04-18 17:49:05 -07:00
2024-05-09 15:51:42 -07:00
2024-05-09 15:04:15 +02:00
2024-03-19 11:45:09 -07:00
2024-03-29 22:15:17 -07:00
2024-05-07 05:23:29 -04:00
2024-04-28 21:12:55 +12:00
2024-05-10 22:51:52 +03:00
2024-04-28 00:20:30 -07:00
2024-05-10 10:29:16 +03:00
2024-05-03 13:27:30 -07:00
2024-05-08 19:37:30 -07:00
2023-09-07 21:56:57 +03:00
2024-03-21 14:11:46 -07:00
2024-02-23 02:37:11 -07:00
2024-05-11 07:23:07 +00:00
2024-05-03 13:29:22 -07:00
2024-03-19 11:45:09 -07:00
2023-11-19 09:55:07 +00:00
2024-05-01 12:03:05 -07:00
2024-05-08 19:37:28 -07:00
2023-09-06 19:06:32 +03:00
2024-05-03 20:58:02 -07:00
2024-03-21 14:11:46 -07:00
2022-01-01 12:47:08 +00:00
2023-06-24 16:56:39 -07:00
2024-03-26 14:00:13 +02:00
2024-05-11 12:06:13 +03:00
2024-05-03 16:58:53 -04:00
2024-03-21 19:40:56 -07:00
2024-04-02 13:46:51 -07:00
2024-03-21 14:11:46 -07:00
2024-03-15 02:28:50 -04:00
2024-03-10 18:13:30 -07:00
2024-03-21 14:11:46 -07:00
2023-07-21 19:56:46 -04:00
2024-03-21 14:11:46 -07:00
2023-11-19 09:55:07 +00:00
2024-02-26 15:18:31 -08:00
2024-05-05 15:58:08 -04:00
2024-05-11 02:17:11 -07:00
2024-05-09 15:04:15 +02:00
2024-05-10 14:05:20 +00:00
2024-03-29 20:34:28 +01:00
2024-03-10 18:13:30 -07:00
2024-03-11 18:48:08 -07:00
2024-05-09 15:04:15 +02:00
2024-05-11 02:17:11 -07:00
2024-05-09 15:04:15 +02:00
2024-03-10 18:13:30 -07:00
2024-03-25 14:49:41 +00:00
2024-03-21 14:11:46 -07:00
2024-04-23 17:57:56 -07:00
2024-05-03 13:27:30 -07:00
2024-02-05 11:55:14 +03:30
2024-03-20 17:14:52 -07:00
2023-10-17 13:55:01 -05:00
2024-03-19 11:45:09 -07:00
2024-02-23 02:58:02 -07:00
2023-01-11 15:39:48 -08:00
2024-05-03 16:58:53 -04:00
2024-05-03 13:27:30 -07:00
2023-11-12 03:21:52 -05:00
2023-11-24 22:33:50 -07:00
2024-02-09 14:02:57 -08:00
2024-04-18 20:08:03 -07:00
2024-05-03 13:27:30 -07:00
2024-05-09 15:04:15 +02:00
2024-05-03 13:27:30 -07:00
2024-03-11 07:09:07 -07:00
2024-04-28 00:20:30 -07:00
2024-04-15 15:24:30 -07:00
2024-05-09 15:04:15 +02:00
2024-04-17 13:41:25 +01:00
2024-03-19 11:45:09 -07:00
2024-05-09 15:04:15 +02:00
2024-02-26 15:18:31 -08:00
2024-02-26 15:18:31 -08:00
2024-05-09 15:04:15 +02:00
2024-03-11 07:09:10 -07:00
2024-02-08 15:39:28 +01:00
2024-03-10 18:17:23 +11:00
2024-02-26 15:18:31 -08:00
2024-02-26 15:18:31 -08:00
2024-05-03 13:27:30 -07:00
2024-03-21 14:11:46 -07:00
2023-06-24 16:56:39 -07:00
2024-05-11 02:17:11 -07:00
2024-05-02 22:09:03 -07:00
2024-05-03 16:58:53 -04:00
2024-05-01 12:03:05 -07:00
2024-05-09 15:04:15 +02:00
2024-03-21 14:11:46 -07:00
2024-05-09 15:04:15 +02:00
2024-05-09 15:04:15 +02:00
2024-02-26 15:18:31 -08:00
2023-10-31 21:37:35 -04:00
2024-04-23 03:20:38 -07:00
2024-04-12 22:37:07 -07:00
2023-10-21 21:24:55 +00:00
2024-02-26 15:18:31 -08:00
2024-04-07 14:47:10 +02:00
2024-05-03 16:58:53 -04:00