Commit Graph

2361 Commits

Author SHA1 Message Date
bjorn3
5285856771 Match on Symbol instead of &str in intrinsics handling 2021-04-19 19:42:06 +02:00
bjorn3
bf85572f59 Extend Termination::report return value as necessary 2021-04-18 10:58:42 +02:00
bjorn3
e01de0f58d Avoid .to_string() for symbol names where possible 2021-04-18 10:37:02 +02:00
bjorn3
a569cb4022 Fix test 2021-04-18 10:32:38 +02:00
bjorn3
9a3d98dade Call Termination::report on main result in jit mode 2021-04-18 10:29:20 +02:00
bjorn3
f3b5e14eca Upload artifacts for cross compiling to MinGW
Fixes #1161
2021-04-16 14:39:46 +02:00
bjorn3
7f0e35106e Fix overflow checking when multiplying two i64
Fixes #1162
2021-04-16 14:36:07 +02:00
bjorn3
6d6c574289 Fix rotate_left and rotate_right with 128bit shift amount
Fixes #1114
2021-04-16 14:08:10 +02:00
bjorn3
944308089f Disable new test 2021-04-16 12:35:22 +02:00
bjorn3
24cac8fa54 Fix rustc tests by updating compiler-builtins dep to 0.1.40 2021-04-16 12:21:29 +02:00
bjorn3
73c0db092d Rustup to rustc 1.53.0-nightly (132b4e5d1 2021-04-13) 2021-04-16 11:59:20 +02:00
Jubilee Young
ea3398ad98 Add more SIMD math.h intrinsics
LLVM supports many functions from math.h in its IR. Many of these have
single-instruction variants on various platforms. So, let's add them so
std::arch can use them.

Yes, exact comparison is intentional: rounding must always return a
valid integer-equal value, except for inf/NAN.
2021-04-14 15:25:06 -07:00
bjorn3
607ed9190f Sync from rust b203b0d240 2021-04-14 19:01:51 +02:00
bjorn3
b477a5472d Avoid file name formatting when debug file writing is disabled 2021-04-14 18:46:22 +02:00
bjorn3
56bf873110 Time object file writing 2021-04-14 18:46:22 +02:00
bjorn3
0319b31f74
Merge pull request #1159 from bjorn3/driver_refactorings
Driver refactorings
2021-04-14 16:36:42 +02:00
bjorn3
69102dbcf7 Add some documentation 2021-04-14 15:16:02 +02:00
bjorn3
ff38b37769 Fix docs 2021-04-14 15:16:02 +02:00
bjorn3
eed9aaa268 Extract create_jit_module function 2021-04-14 15:05:57 +02:00
bjorn3
d4d270d503 Merge BACKEND_CONFIG and CURRENT_MODULE thread locals 2021-04-14 15:01:09 +02:00
bjorn3
6fac7f089f Don't unregister unwind tables after the JIT is done 2021-04-14 15:01:07 +02:00
bjorn3
86530f889e Use maybe_create_entry_wrapper again in jit mode
This simplifies the jit driver a lot
2021-04-14 14:59:36 +02:00
bjorn3
ba8e610b26 Inline driver::codegen_crate 2021-04-14 14:57:04 +02:00
bjorn3
d9e9fedfe5 Remove CodegenCx::finalize and pass Module separately from CodegenCx 2021-04-14 14:57:02 +02:00
bjorn3
3e2bdb94ec Don't store TyCtxt in UnwindContext 2021-04-14 14:53:33 +02:00
bjorn3
b09b8b1bd4 Re-use Context in codegen_shim 2021-04-14 14:20:42 +02:00
bjorn3
b4bf4b5c09 Enable and disable some rust-analyzer diagnostics 2021-04-14 14:20:42 +02:00
bjorn3
542e73e8ac
Merge pull request #1158 from bjorn3/isolate_mono_items_pr
Isolate mono items
2021-04-14 11:43:58 +02:00
bjorn3
65420b50f8 Don't deduplicate anonymous allocations 2021-04-14 10:38:18 +02:00
bjorn3
f3b0f425c5 Don't deduplicate vtables between functions 2021-04-14 10:37:16 +02:00
bjorn3
b6f7e71c1d Update Cranelift 2021-04-14 10:37:14 +02:00
bjorn3
29a4a551eb Rustfmt 2021-04-12 12:09:05 +02:00
pierwill
a7c4c3ee71 Fix outdated crate names in compiler docs
Changes `librustc_X` to `rustc_X`, only in documentation comments.
Plain code comments are left unchanged.

Also fix incorrect file paths.
2021-04-08 11:12:14 -05:00
bjorn3
53bfc6729a Centralize all configuration into config.rs 2021-04-07 11:52:11 +02:00
bjorn3
1ee0aa9416 Move BackendConfig to config.rs 2021-04-07 11:02:54 +02:00
bjorn3
3d7d08f338 Simplify write_metadata 2021-04-07 10:54:43 +02:00
bjorn3
e1a2f0f351 Rustup to rustc 1.53.0-nightly (c051c5ddd 2021-04-06) 2021-04-07 10:16:01 +02:00
bjorn3
0c1725f8bb Fixup previous commit 2021-04-06 13:59:54 +02:00
bjorn3
7a1cf889c7 Fix rustc test suite by ignoring rustdoc test 2021-04-06 13:14:45 +02:00
bjorn3
8114d933bd Rustup to rustc 1.53.0-nightly (d32238532 2021-04-05) 2021-04-06 12:27:45 +02:00
bjorn3
2cb13ca20e Sync from rust 354cc751b7 2021-04-06 12:20:12 +02:00
bjorn3
ab425a4bca Revert "Build with -Cpanic=unwind by default"
This reverts commit afe74d71e4. It
shouldn't have been pushed to master as it isn't ready yet.
2021-03-31 13:47:10 +02:00
bjorn3
2ceb527728 Remove the cold block optimization
It isn't effective with the new backend framework
2021-03-31 12:42:30 +02:00
bjorn3
a793be8ee8 Remove the stack2reg optimization completely
It is broken and needs to be rewritten from scratch
2021-03-31 12:34:01 +02:00
bjorn3
afe74d71e4 Build with -Cpanic=unwind by default
This doesn't enable unwinding as cg_clif doesn't support it yet. It does
allow for linking to a cg_llvm compiled libstd.so, which uses
`-Cpanic=unwind`.
2021-03-31 12:16:33 +02:00
bjorn3
6e799438b7 Add an Mmap wrapper to rustc_data_structures
This wrapper implements StableAddress and falls back to directly reading
the file on wasm32
2021-03-30 18:57:03 +02:00
bjorn3
5417278438 Sync from rust 3aedcf06b7 2021-03-29 16:33:09 +02:00
bjorn3
07968a001d Merge commit '0969bc6dde001e01e7e1f58c8ccd7750f8a49ae1' into sync_cg_clif-2021-03-29 2021-03-29 10:45:09 +02:00
bjorn3
0969bc6dde Rustup to rustc 1.53.0-nightly (4a20eb6a9 2021-03-28) 2021-03-29 10:26:20 +02:00
bjorn3
94b51d14e6 Make all compiler-builtins symbols hidden
This matches cg_llvm

Fixes #1152
2021-03-27 17:32:41 +01:00