829 Commits

Author SHA1 Message Date
bjorn3
10ee80c288 Write dummy return value on unimplemented simd_{insert,extract}
Fixes #919
2020-03-14 14:34:07 +01:00
bjorn3
98a073cf26 Shrink vtable symbol names a bit 2020-03-13 11:19:31 +01:00
bjorn3
4d226e8f17 Hash trap message symbol nameThis saves ~7% of disk space 2020-03-13 11:02:14 +01:00
bjorn3
1c02e6c368 Rustup to rustc 1.43.0-nightly (c20d7eecb 2020-03-11) 2020-03-12 21:04:00 +01:00
bjorn3
b469bf3b08 Refactor driver/aot.rs
Fixes #917
2020-03-12 11:58:59 +01:00
bjorn3
933ef94f63 Move aot code to driver/aot.rs 2020-03-12 11:48:17 +01:00
bjorn3
03240d89cc Move jit code to driver/jit.rs 2020-03-12 11:44:27 +01:00
bjorn3
1a0d1ed9df Move driver.rs 2020-03-12 11:42:01 +01:00
bjorn3
dfd365e060 Display crate name in the "codegen mono items" time message 2020-03-12 11:40:42 +01:00
bjorn3
1980371195 Better use of env vars 2020-03-12 11:19:26 +01:00
bjorn3
e4f1f3db27 Implement incremental caching of object files 2020-03-11 18:42:51 +01:00
bjorn3
dcc86d306c Emulate <Box<F> as FnOnce>::call_once without alloca
Fixes #884

cc #15
2020-03-10 20:48:58 +01:00
bjorn3
240d56c33c Support virtual calls with unsized self argument 2020-03-10 20:41:31 +01:00
bjorn3
11b1c8b5c6 Use multiple codegen units
Fixes #909
2020-03-09 11:29:26 +01:00
bjorn3
6a90b6844f Revert "Use multiple codegen units"
This reverts commit 03acf67a0e3a2780d2a1443f4e4596b69d9a2b09.
2020-03-08 13:27:43 +01:00
bjorn3
03acf67a0e Use multiple codegen units 2020-03-07 12:45:55 +01:00
bjorn3
36ea72c2bd Move emit_module call 2020-03-07 12:45:05 +01:00
bjorn3
97db112295 Move time "codegen mono items" out of codegen_mono_items 2020-03-07 12:16:32 +01:00
bjorn3
575836ebe3 Check for main in current module before codegen of entry wrapper 2020-03-07 12:13:54 +01:00
bjorn3
2ecffb6fc4 Inline codegen_cgus 2020-03-07 11:54:35 +01:00
bjorn3
152bde63fe Misc changes 2020-03-07 11:27:49 +01:00
bjorn3
5d2a1daf83 Remove unused inline asm whitelist 2020-03-07 11:10:33 +01:00
bjorn3
9ab2af56aa Rustup to rustc 1.43.0-nightly (4ad624882 2020-03-03) 2020-03-04 15:04:28 +01:00
bjorn3
900c04a423 Implement simd_fma 2020-02-26 16:35:13 +01:00
bjorn3
c8de552c01 Tls support 2020-02-26 14:41:05 +01:00
bjorn3
53ef00e68c Fix JIT on macOS
Fixes #671
2020-02-22 15:57:53 +01:00
bjorn3
cc30c20293 Silence some warnings 2020-02-22 15:18:03 +01:00
bjorn3
ad7e8ad2cc Update Cranelift 2020-02-22 14:25:22 +01:00
bjorn3
c1bf153049 Rustup to rustc 1.43.0-nightly (8aa9d2014 2020-02-21) 2020-02-22 14:20:37 +01:00
bjorn3
6156f48ffe Update Cranelift and use the new ineg instruction 2020-02-15 11:59:45 +01:00
bjorn3
a3f27a4428 Use archive_format for determining if gnu style archives should be emitted
Fixes #893
2020-02-14 19:12:43 +01:00
bjorn3
430f738392 Update Cranelift for basic blocks 2020-02-14 18:23:29 +01:00
bjorn3
b5b2ffab6a Rustup to rustc 1.43.0-nightly (5d04ce67f 2020-02-13) 2020-02-14 18:20:34 +01:00
bjorn3
e95a300630 Use TrapCode::UnreachableCodeReached in trap_unreachable 2020-02-07 21:38:30 +01:00
bjorn3
bae0d9bb72 [OPT] Don't call monomorphize from clif_type 2020-02-07 20:27:37 +01:00
bjorn3
01f6f40ac2 Rustup to rustc 1.43.0-nightly (442ae7f04 2020-02-06) 2020-02-07 13:49:48 +01:00
bjorn3
fbe36ad68a Revert "Use CachingSourceMapView::byte_pos_to_line_and_col instead of SourceMap::lookup_char_pos"
This reverts commit eb4fc45310c70513d73d893616cd6735465680ca.

It caused a panic while compiling simple-raytracer
2020-02-03 21:36:36 +01:00
bjorn3
eb4fc45310 Use CachingSourceMapView::byte_pos_to_line_and_col instead of SourceMap::lookup_char_pos
The former calculates byte offsets instead of char offsets. It is faster
to calculate byte offsets than char offsets. Also most DWARF producers
and consumers use byte offsets instead of char offsets.
2020-02-03 21:05:18 +01:00
bjorn3
33e73091f8 Don't mark unwind ebbs as cold
This fixes the code_layout optimization, as it would previously try to
move non-existing ebbs.

Fixes #877
2020-02-01 16:47:35 +01:00
bjorn3
d821f154c5 Disable the code_layout optimization
When compiling libcore, it causes ebb params to be dropped for a certain function
2020-01-25 17:55:48 +01:00
bjorn3
92d4356130 Add #[cfg(debug_assertions)] to write_clif_file
This silences a warning in release mode
2020-01-25 17:54:49 +01:00
bjorn3
8de317dd8f Update compiler_builtins 2020-01-25 17:24:45 +01:00
bjorn3
74c7a7b7c5 Replace unimplemented! with unreachable! when it will never be supported 2020-01-25 16:24:48 +01:00
bjorn3
242f2e3c75 Fix correctness of optimization 2020-01-25 16:24:15 +01:00
bjorn3
9cfb9470c5 Allow unsized types as function parameters 2020-01-25 16:23:54 +01:00
bjorn3
85ce626865 Improve PlaceElem::Subslice handling 2020-01-22 20:10:00 +01:00
bjorn3
ddd3d95a7e Make atomic instructions atomic using a global lock 2020-01-22 20:09:55 +01:00
bjorn3
a3f378754b Warn when using LTO 2020-01-22 20:06:05 +01:00
bjorn3
aa5c49cf2f Make unused stack slots zero sized in stack2reg 2020-01-22 18:57:36 +01:00
bjorn3
167c7f2201 Don't force static refs to const memory 2020-01-22 18:56:50 +01:00