1054 Commits

Author SHA1 Message Date
bjorn3
d032c24476
Merge pull request #1057 from spastorino/store-pairs-in-ssa
Store pairs in ssa
2020-07-03 15:04:29 +02:00
Santiago Pastorino
ef01b4e3dd
Store fat pointers in ssa variables 2020-07-03 09:48:22 -03:00
Santiago Pastorino
9ec2be7d63
Extract transmute_value as a function to avoid code repetition 2020-07-03 09:43:02 -03:00
Santiago Pastorino
aa80ed0a2d
Store pairs in SSA 2020-07-02 19:23:21 -03:00
bjorn3
f3a91164a2 Rustup to rustc 1.46.0-nightly (f781babf8 2020-07-01) 2020-07-02 19:48:03 +02:00
bjorn3
a299d0e632 Don't panic on unevaluatable promoted constants 2020-07-01 14:15:23 +02:00
bjorn3
eb89a2c092 Implement float_to_int_unchecked intrinsic 2020-06-30 19:02:00 +02:00
bjorn3
c674a32ab8 Implement f*_fast intrinsics 2020-06-30 19:01:17 +02:00
bjorn3
f5f24c7a5c Implement a few volatile intrinsics 2020-06-30 19:00:52 +02:00
bjorn3
bf2ba15972 When casting enum to integer sign extend the discriminant if necessary 2020-06-30 18:59:58 +02:00
bjorn3
cc0268fa1a Mask shift amount 2020-06-30 18:56:53 +02:00
bjorn3
e2ab2885c2 Mark allocations as mutable when necessary 2020-06-30 18:55:33 +02:00
bjorn3
aa6a4acd78 Fix ptr_offset_from intrinsic 2020-06-30 18:53:47 +02:00
bjorn3
de336e17e4 Fix trap_unreachable_ret_value 2020-06-30 18:52:32 +02:00
bjorn3
3227203fe6 Don't use a 1-to-1 mapping between mir local and cranelift_frontend variable 2020-06-27 14:29:28 +02:00
bjorn3
48d4bc2fb6 Rustup to rustc 1.46.0-nightly (7750c3d46 2020-06-26) 2020-06-27 11:29:39 +02:00
bjorn3
a3cd293148 Don't perform a double substitution in some cases 2020-06-24 12:10:20 +02:00
bjorn3
98c83d21f5 Remove leftover of removed hack 2020-06-24 11:54:11 +02:00
bjorn3
1f3dd4f91c Prevent different vtables with the same name
Fixes #987
2020-06-23 11:41:35 +02:00
bjorn3
9c0d18c8db Simplify assert_assignable
Assignments are no longer used to implicitly cast between &mut T and &T
2020-06-21 10:35:45 +02:00
bjorn3
b79102c933 Disable "LTO is not supported" warning for sysroot build 2020-06-20 19:14:58 +02:00
bjorn3
fc5e583006 Warn on unsupported pass modes for extern "C"
cc #10
2020-06-20 19:03:54 +02:00
bjorn3
eb8fd197ab Prelude cleanup 2020-06-20 18:44:49 +02:00
bjorn3
431cebdca1 Introduce #[cfg(target_feature = "cg_clif")] 2020-06-20 16:22:03 +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
266ca933f4 Rustup to rustc 1.46.0-nightly (2d8bd9b74 2020-06-19) 2020-06-20 11:10:27 +02:00
bjorn3
3086e44733 Only call build_value_labels_ranges when necessary 2020-06-16 13:27:24 +02:00
bjorn3
282e3055e1 Only run ranlib when necessary 2020-06-16 11:40:21 +02:00
bjorn3
daad966be7 Some changes necessary for Windows support
cc #977
2020-06-16 11:36:39 +02:00
bjorn3
d471c1b521 Update Cranelift 2020-06-16 10:38:12 +02:00
bjorn3
eb5ce4e92a Remove FunctionDebugContext 2020-06-13 17:03:34 +02:00
bjorn3
16b5dac463 Remove all non-tcx references from CodegenCx 2020-06-12 21:15:13 +02:00
bjorn3
ba7cdf21be Emit unwind info for main and alloc shim
Fixes #988
2020-06-12 19:31:35 +02:00
bjorn3
b84c9764db Rustup to rustc 1.46.0-nightly (a37c32e2d 2020-06-11) 2020-06-12 18:41:50 +02:00
bjorn3
cef9255c0e Rustup to rustc 1.46.0-nightly (449e8eaa2 2020-06-10) 2020-06-11 13:12:47 +02:00
bjorn3
bc555764bd Update Cranelift 2020-06-05 12:40:33 +02:00
bjorn3
6b54b7c9f4 Remove sign extension for ty::Int from CValue::const_val 2020-06-05 12:16:05 +02:00
bjorn3
648b634e21 Rustup to rustc 1.45.0-nightly (56daaf669 2020-06-03) 2020-06-04 19:57:12 +02:00
bjorn3
1e70c51f60
Merge pull request #1022 from osa1/clif_dump_in_release_mode
Dump clif with --emit llvm-ir in release mode
2020-05-29 11:12:02 +02:00
Ömer Sinan Ağacan
acbfa06ea2
Mark blocks that call cold funs as cold (#1021) 2020-05-29 11:06:29 +02:00
Ömer Sinan Ağacan
c0ad988a3a
Update src/pretty_clif.rs
Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
2020-05-29 11:53:58 +03:00
Ömer Sinan Ağacan
6dd0246199 Dump clif with --emit llvm-ir in release mode
Currently it's not possible to dump llvm-ir in release build. With this
patch we allow it with `--emit llvm-ir`. In debug build we dump clif
always as before.

Fixes #1020
2020-05-29 11:43:05 +03:00
bjorn3
1c76bdc53a
Remove already fixed FIXME in driver/jit.rs 2020-05-27 11:08:41 +02:00
bjorn3
47f0256d56 Update Cranelift 2020-05-25 13:04:36 +02:00
bjorn3
bcd357a0ae Rustup to rustc 1.45.0-nightly (46e85b432 2020-05-24) 2020-05-25 12:41:33 +02:00
bjorn3
c7e0dde38a Rustup to rustc 1.45.0-nightly (7ebd87a7a 2020-05-08) 2020-05-09 14:14:45 +02:00
bjorn3
27cc90effa Improvements for latest Cranelift 2020-05-05 12:16:28 +02:00
bjorn3
020bcb31db Register frame table in JIT mode 2020-05-01 20:58:27 +02:00