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