43 Commits

Author SHA1 Message Date
bjorn3
d084fca557 Sync from rust a090c8659c3be0cbc7dc93c4b2c11a9cdbf8b980 2021-12-16 13:52:12 +01:00
Amanieu d'Antras
edeb3891e9 Remove invalid doc links. 2021-12-13 20:40:17 +00:00
bjorn3
057635b9da Rustfmt 2021-12-09 13:43:32 +01:00
bjorn3
df7f02072b Remove black box inline asm fallback
It isn't used anymore since the introduction of the black_box intrinsic
2021-12-04 15:03:50 +01:00
bjorn3
efdbd88a74 Ensure inline asm wrapper name never starts with a digit
This could previously happen if the cgu name starts with a digit
2021-11-25 11:43:18 +01:00
bjorn3
1222192374 Use cgu name instead of function name as base for inline asm wrapper name
This fixes using #[inline] functions containing inline assembly from multiple cgus
2021-11-24 19:18:22 +01:00
Gary Guo
5f0c6e5539 Fix allocated reg in AT&T style asm 2021-11-22 17:01:43 +00:00
Gary Guo
f9534a9bc9 Add RISC-V inline asm support 2021-11-22 16:28:14 +00:00
Gary Guo
31e7fa54a0 Dispatch inline asm to the correct arch 2021-11-22 16:28:14 +00:00
Gary Guo
cfdf10b259 x86 inline asm support 2021-11-22 16:28:14 +00:00
Gary Guo
eaf88c5b52 Skeleton for multiple arch support 2021-11-22 13:45:18 +00:00
Gary Guo
fe3ba31860 Overlap input and output stack slots 2021-11-22 13:45:18 +00:00
Gary Guo
14aa039d30 Skip registers saved by calling convention 2021-11-22 13:45:17 +00:00
Gary Guo
703027f0fc Code cleanup as a follow up to the previous commit 2021-11-22 03:15:12 +00:00
Gary Guo
894468a537 Move stack slot allocation to a new fn 2021-11-22 03:15:12 +00:00
Gary Guo
f16d27aca4 Remove expect_reg 2021-11-22 01:48:22 +00:00
Gary Guo
042eb37837 Implement register allocation for inline assembly 2021-11-22 01:45:58 +00:00
bjorn3
b2fed29e1a Update Cranelift 2021-10-12 14:47:57 +02:00
bjorn3
d6b03451e6 Merge commit '40dd3e2b7089b5e96714e064b731f6dbf17c61a9' into sync_cg_clif-2021-05-27 2021-05-27 13:08:14 +02:00
bjorn3
bcc68c298a Rustup to rustc 1.54.0-nightly (881c1ac40 2021-05-08) 2021-05-09 13:17:02 +02:00
Erin Power
ee570b1302 Sync rustc_codegen_cranelift 'ddd4ce25535cf71203ba3700896131ce55fde795' 2021-04-30 14:49:58 +02:00
bjorn3
73c0db092d Rustup to rustc 1.53.0-nightly (132b4e5d1 2021-04-13) 2021-04-16 11:59:20 +02:00
bjorn3
d9e9fedfe5 Remove CodegenCx::finalize and pass Module separately from CodegenCx 2021-04-14 14:57:02 +02:00
bjorn3
f3b0f425c5 Don't deduplicate vtables between functions 2021-04-14 10:37:16 +02:00
bjorn3
07968a001d Merge commit '0969bc6dde001e01e7e1f58c8ccd7750f8a49ae1' into sync_cg_clif-2021-03-29 2021-03-29 10:45:09 +02:00
bjorn3
cecd7a9ae6 Add clif comments when in release mode
Fixes #1130
2021-03-06 18:45:04 +01:00
bjorn3
1122f42e28 Support cross-compiling to Windows using MinGW 2021-03-05 21:32:49 +01:00
bjorn3
27886cd6b6 Merge commit '9a0c32934ebe376128230aa8da3275697b2053e7' into sync_cg_clif-2021-03-05 2021-03-05 19:12:59 +01:00
bjorn3
5e736293b3 Rustfmt 2021-03-05 11:21:44 +01:00
bjorn3
73d3a1c14a Use dynamic dispatch for the inner Module
This improves compilation time and shrinks the linked backend from
13MB to 9.7MB on Linux.
2021-02-23 18:49:37 +01:00
bjorn3
285c7c66dc Merge commit '03f01bbe901d60b71cf2c5ec766aef5e532ab79d' into update_cg_clif-2020-11-01 2020-11-03 11:00:04 +01:00
Muhammad Mominul Huque
d27f2f0932
Rename trans to codegen 2020-11-01 19:24:30 +06:00
bjorn3
0a5968dfd2 Use the new cranelift-module interface
This updates Cranelift to include bytecodealliance/wasmtime#2249
2020-10-08 19:00:21 +02:00
bjorn3
c8699076f9 Document almost all modules
Fixes #1082
2020-09-23 15:13:49 +02:00
CohenArthur
4e685a512e fmt: Run cargo fmt since it is available 2020-08-28 12:10:48 +02:00
CohenArthur
0d1f8c802e FunctionCx: Refactor fx.cx.tcx into fx.tcx 2020-08-22 16:47:31 +02:00
CohenArthur
7b534d653d FunctionCx: Rename codegen_cx -> cx 2020-08-22 16:17:58 +02:00
CohenArthur
4cb2a2b793 FunctionCx: Fix field usage in inline_asm and vtable modules 2020-08-22 16:14:33 +02:00
CohenArthur
ad4a7a1f0c FunctionCx: WIP: Fix syntax error on sed codegen_cx -> .codegen_cx 2020-08-22 15:21:38 +02:00
CohenArthur
cb69c7019c FunctionCx: Replace .module with .codegen_cx.module 2020-08-22 15:19:09 +02:00
CohenArthur
297d65c247 FunctionCx: WIP: Replace .tcx with .codegen_cx.tcx 2020-08-22 15:18:39 +02:00
bjorn3
3f2589acd9 Fix multiple inline asm blocks in the same function 2020-07-23 12:37:03 +02:00
bjorn3
726e329f46 Add basic inline asm support for x86_64 2020-07-10 21:34:26 +02:00