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
bjorn3
15b9834d7d
Don't copy ByRef passed types to local stack slot when not necessary
...
Eg when the local is immutable **and** the type is freeze.
This makes the simple raytracer runtime benchmark 1% faster than cg_llvm
without optimizations. Before it was 2% slower.
cc #691
cc #684
2019-08-30 15:42:07 +02:00
bjorn3
e704eb5259
Sync discriminant getter and setter with upstream
...
Fixes #683
2019-08-26 11:03:06 +02:00
bjorn3
1f90b04cd6
Fix float -> u/i128 cast
...
The original test casts were optimized away by rustc,
so cg_clif never saw them.
cc #668
2019-08-21 14:35:48 +02:00
bjorn3
b2d6705fe2
Implement u/i128 <-> float casts
...
Fixes #668
2019-08-21 14:01:29 +02:00