Commit graph

1165 commits

Author SHA1 Message Date
bjorn3
ddd4ce2553 Remove unused parameter 2021-04-30 10:52:37 +02:00
Muhammad Mominul Huque
c4f50fb06f
Update the error messsage
Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
2021-04-23 20:40:27 +06:00
Muhammad Mominul Huque
8eb96b8517 Handle native target-cpu variant
and raise fatal error if the specified target cpu is not supported
2021-04-23 19:55:52 +06:00
Muhammad Mominul Huque
e16ccba394 Support -Ctarget-cpu 2021-04-23 17:04:45 +06:00
bjorn3
05f9602567 Sync from rust 6df26f897c 2021-04-21 11:29:57 +02:00
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
9a3d98dade Call Termination::report on main result in jit mode 2021-04-18 10:29:20 +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
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
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
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
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
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
07968a001d Merge commit '0969bc6dde001e01e7e1f58c8ccd7750f8a49ae1' into sync_cg_clif-2021-03-29 2021-03-29 10:45:09 +02:00
bjorn3
94b51d14e6 Make all compiler-builtins symbols hidden
This matches cg_llvm

Fixes #1152
2021-03-27 17:32:41 +01:00
bjorn3
f3e8f6dc08 Rustfmt 2021-03-26 14:35:51 +01:00
bjorn3
9a21312480 Sync from rust 4137088d9d 2021-03-26 13:02:49 +01:00
bjorn3
73626efb26 Rustfmt 2021-03-21 10:05:48 +01:00
bjorn3
56fe51cb36 Update Cranelift 2021-03-21 10:05:22 +01:00
lcnr
500bcfcdb3 update const_eval_resolve 2021-03-20 17:22:24 +01:00
SparrowLii
e4a1092b9f Add simd_neg platform intrinsic 2021-03-19 02:16:21 +08:00
bjorn3
0069007d5b Avoid nightly feature usage where easily possible 2021-03-18 12:23:55 +01:00
bjorn3
664b25ea38 Rustup to rustc 1.52.0-nightly (36f1f04f1 2021-03-17) 2021-03-18 12:19:31 +01:00
bjorn3
6a0ce7f6bb Sync from rust 04ae50179a 2021-03-17 18:36:30 +01:00