Commit Graph

133 Commits

Author SHA1 Message Date
bjorn3 1122f42e28 Support cross-compiling to Windows using MinGW 2021-03-05 21:32:49 +01:00
bjorn3 27a5f4f472 Update Cranelift
Fixes #1143
2021-03-01 12:19:22 +01:00
bjorn3 a5bf6d2f18 Rustup to rustc 1.52.0-nightly (83b30a639 2021-02-20) 2021-02-21 17:27:53 +01:00
bjorn3 93373e13f0 Don't build alloc_system as part of the sysroot 2021-02-21 10:56:25 +01:00
bjorn3 9384af4198 Link examples to the correct libc when targeting Windows 2021-01-31 12:46:17 +01:00
bjorn3 3f6a3b5ebe Implement lazy compilation in JIT mode
Lazy compilation has the potential to significantly improve the startup
time of a program. While functions have to be codegened when called, it
is expected that a significant amount of all code is only required when
an error occurs or only when the program is used in certain ways.

The basic approach is to first codegen a shim for each function. This
shim calls the `__cg_clif_jit` function of cg_clif with a pointer to the
`Instance` corresponding to the function for which it is a shim.
`__cg_clif_jit` function then codegens this function and uses the hot
code swapping support of SimpleJIT to redirect future calls to the
function to the real version. Finally it calls the newly codegened
function.
2020-12-25 12:08:21 +01:00
bjorn3 aef656aee8 Rustup to rustc 1.50.0-nightly (72da5a9d8 2020-11-26) 2020-11-27 18:01:01 +01:00
bjorn3 c3179bc44b Rustup to rustc 1.50.0-nightly (593fe977a 2020-11-20) 2020-11-21 19:49:51 +01:00
bjorn3 f4e8af268b Update Cranelift
Fixes bootstrapping of rustc using cg_clif

Fixes #1097
2020-11-01 09:50:33 +01:00
Ben Striegel 4206f9fc16 Prefer numeric associated constants in example
Per their documentation, the `max_value()` and `min_value()` associated functions have been superseded by the `MAX` and `MIN` associated constants since Rust 1.43 and are considered "soft deprecated", with all uses currently being replaced in the rustc repo.
2020-10-27 16:20:58 -04:00
bjorn3 e5b2b1ba81 Misc changes 2020-09-22 13:06:14 +02:00
bjorn3 2cd8ccbea1 Don't benchmark mod_bench anymore 2020-09-18 14:45:52 +02:00
bjorn3 bb59d616aa Use don't unroll loop in Rvalue::Repeat
Fixes #1081
2020-09-14 11:32:27 +02:00
bjorn3 ca9fc101c0 Fix weak linkage
This removes the last sysroot patch apart from the few patches that disable tests
2020-08-20 15:24:33 +02:00
bjorn3 ee2addd010 Don't test x86_64 simd on archs other than x86_64 2020-08-20 13:22:07 +02:00
bjorn3 c1a68b1386 Emulate the cpuid arch intrinsic 2020-08-15 19:08:19 +02:00
bjorn3 49b7fac443 Enable simd insert and extract tests
Working since rust-lang/stdarch#876

Fixes #666
2020-08-08 16:32:03 +02:00
bjorn3 edc0a3470b Implement simd_insert 2020-07-19 14:54:18 +02:00
bjorn3 e87651c3f2 Add test for SwitchInt on 128bit integers 2020-07-16 13:01:20 +02:00
bjorn3 190e36a5f8 Make everything in example.rs public 2020-07-11 11:02:23 +02:00
bjorn3 8cf38181ad Disable global_asm! on macOS for now 2020-07-09 18:56:17 +02:00
bjorn3 037d411bf4 Implement global_asm! using an external assembler
Fixes #1061
2020-07-09 17:02:09 +02:00
bjorn3 8d639cd778 Test signed 128bit discriminants 2020-07-03 16:44:26 +02:00
bjorn3 f3a91164a2 Rustup to rustc 1.46.0-nightly (f781babf8 2020-07-01) 2020-07-02 19:48:03 +02:00
bjorn3 48d4bc2fb6 Rustup to rustc 1.46.0-nightly (7750c3d46 2020-06-26) 2020-06-27 11:29:39 +02:00
bjorn3 5f54cc7658 Implement checked_mul
Fixes #6
2020-06-20 15:15:28 +02:00
bjorn3 ef4186a85b Use Cranelift legalization for icmp.i128
The previous translation was wrong for signed 128bit comparisions

This fixes several libcore tests
2020-06-20 13:23:31 +02:00
bjorn3 5c6bf836fe Implement #[link_section]
Fixes #1047
2020-06-20 12:01:24 +02:00
bjorn3 d4187e6aae Make mini_core_hello_world work on Windows once TLS is supported 2020-06-16 11:50:58 +02:00
bjorn3 a76748e54a Fix warnings in alloc_example.rs 2020-06-16 10:42:44 +02:00
bjorn3 648b634e21 Rustup to rustc 1.45.0-nightly (56daaf669 2020-06-03) 2020-06-04 19:57:12 +02:00
bjorn3 12c92a32f6 Rustup to rustc 1.45.0-nightly (fa51f810e 2020-04-29) 2020-04-30 11:28:48 +02:00
bjorn3 7031c96fb3 Call panic lang item on failed TerminatorKind::Assert
Fixes #164
2020-04-25 19:07:53 +02:00
bjorn3 eab4c9063e Sync fn_sig_for_fn_abi with upstream for generator resume args
Fixes #970
2020-04-18 15:45:42 +02:00
bjorn3 51d07790df Use the correct return type for puts 2020-04-17 19:33:57 +02:00
bjorn3 3c9ebdb194 Rustup to rustc 1.44.0-nightly (1edd389cc 2020-03-23) 2020-03-24 13:09:44 +01:00
bjorn3 d74c151b69 Fix it 2020-03-18 20:33:29 +01:00
bjorn3 d464169beb Rustup to rustc 1.44.0-nightly (7ceebd98c 2020-03-17) 2020-03-18 20:12:19 +01:00
bjorn3 9ab2af56aa Rustup to rustc 1.43.0-nightly (4ad624882 2020-03-03) 2020-03-04 15:04:28 +01:00
bjorn3 c8de552c01 Tls support 2020-02-26 14:41:05 +01:00
bjorn3 38797f8bad Implement #[track_caller]
Fixes #848
2020-01-11 17:10:42 +01:00
bjorn3 2a082209a6 Fix PlaceElem::Subslice length computation 2020-01-11 14:28:18 +01:00
bjorn3 c6086a8fd7 Rustup to rustc 1.41.0-nightly (6d77e45f0 2019-12-04) 2019-12-05 21:00:57 +01:00
bjorn3 e9d3569e08 Run libcore tests 2019-11-24 15:44:39 +01:00
bjorn3 b0bcb23eb4 Fix signed cast to 128bit integer 2019-11-16 16:44:26 +01:00
bjorn3 5407b51aa7 Rustup to rustc 1.40.0-nightly (9e346646e 2019-11-08) 2019-11-09 11:14:18 +01:00
bjorn3 8536514308 Rustup to rustc 1.40.0-nightly (10a52c25c 2019-10-24) 2019-10-25 21:41:24 +02:00
bjorn3 f2c574aebf Add extern type pointer cast tests 2019-09-21 11:32:11 +02:00
bjorn3 554a1aa0ba Reenable debug assertions for libstd on macOS
m4b/faerie#91 has been merged
2019-09-14 12:49:23 +02:00
bjorn3 a2e905f22d Correctly align offset for dst field projections
Fixes #681
2019-09-02 20:09:37 +02:00