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