1489 Commits

Author SHA1 Message Date
bjorn3
c7b2ffaebd Fix intrinsic name 2020-03-17 15:12:15 +01:00
bjorn3
d07c404bf4 Rename try intrinsic argument to match upstream 2020-03-17 14:53:32 +01:00
bjorn3
ebf13f1cce Rustup to rustc 1.43.0-nightly (dd6718796 2020-03-16) 2020-03-17 14:52:06 +01:00
bjorn3
643f0a1455 Remove unused import 2020-03-15 19:52:41 +01:00
bjorn3
0c1dcb0bbf Pre-allocate vec for rlib metadata reading
Reduces the time spent during the copy from ~9% to ~1% for helloworld

cc #878
2020-03-14 19:01:47 +01:00
bjorn3
5d516f9e11 Use Vec instead of HashSet for ccx.todo
This reduces runtime of ConstantCx::finalize for the coercions rustc
bench by ~65%

cc #878
2020-03-14 16:36:55 +01:00
bjorn3
efe3d84ce4 Don't lookup span position when the span hasn't changed
This improves performance of FunctionDebugContext::define by ~60%

Fixes #807
2020-03-14 15:18:04 +01:00
bjorn3
660b5c33e7 Use byte offsets instead of char offsets in debuginfo
cc #807
2020-03-14 15:10:22 +01:00
bjorn3
092cae12f9 Dont single step into macros
Fixes #782
2020-03-14 14:48:04 +01:00
bjorn3
ce4c514001 Error on allocation containing reference to TLS value
Fixes #868
2020-03-14 14:39:29 +01:00
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