Commit Graph

3315 Commits

Author SHA1 Message Date
bjorn3
37c269e16a Fix typo 2023-02-19 17:56:34 +00:00
bjorn3
1af867cdf7 Add test for #1318 2023-02-19 17:55:35 +00:00
bjorn3
916a6c17df Update portable-simd 2023-02-19 17:46:51 +00:00
bjorn3
ef6df7e814 Handle wrappers around dyn* in receiver types
Fixes #1324
2023-02-19 17:41:08 +00:00
bjorn3
9e6dfba383 Allow codegen to unsize dyn* to dyn
cg_clif counterpart to rust-lang/rust#106532
2023-02-19 17:22:03 +00:00
bjorn3
b08762493c Fix warnings 2023-02-19 17:11:28 +00:00
bjorn3
c794dc7255 Enable inline stack probes on riscv64
Fixes #1358
2023-02-19 17:08:52 +00:00
bjorn3
98ddd69aae Add wrappers to dist/bin/ too in addition to dist/
Rust's build system since recently expects rustc to be in a bin/
directory if it is specified using the rustc option in config.toml.
2023-02-19 15:28:01 +00:00
bjorn3
746008e791 Rustup to rustc 1.69.0-nightly (4507fdaaa 2023-02-18) 2023-02-19 10:41:09 +01:00
bjorn3
0134916c6e Sync from rust 4507fdaaa2 2023-02-19 10:31:16 +01:00
Camille GILLOT
8996171e88 Stop implementing _with_overflow intrinsics in codegen backends. 2023-02-18 22:06:29 +00:00
Camille GILLOT
39068eb1cc Adapt cg_clif. 2023-02-18 21:35:02 +00:00
bjorn3
cb12ad7397
Merge pull request #1359 from bjorn3/fix_llvm14-builtins-abi
Fix compiler-builtins 0.1.87 on Windows
2023-02-18 19:17:43 +01:00
bjorn3
bb933d26dc Fix abi for checked multiplication 2023-02-18 18:45:27 +01:00
bjorn3
4991d08bc6 Remove incorrect check in lib_call 2023-02-18 16:40:21 +01:00
bjorn3
90a7ee6c70 Check output of checked_div in std_example 2023-02-18 16:40:06 +01:00
bjorn3
a7c0cfc113 Fix return address type 2023-02-18 15:56:26 +01:00
bjorn3
dd5ffc2e18 Split out lib_call_unadjusted function 2023-02-18 15:56:07 +01:00
bjorn3
54648091dd Update to compiler-builtins 0.1.87 2023-02-17 18:46:32 +00:00
bjorn3
29ad465127 Fix float to int compiler builtin call abi 2023-02-17 18:40:22 +00:00
bjorn3
c6a0d3716b Move windows i128 indirect return handling to lib_call 2023-02-17 18:20:34 +00:00
bjorn3
ede7cde065 Move windows i128 argument by-ref handling to lib_call 2023-02-17 18:20:34 +00:00
bjorn3
7bd3b771b0 Add fixme 2023-02-17 18:20:34 +00:00
bjorn3
e58bb2acbd Use new abi for 128bit int to float cast intrinsics on Windows 2023-02-17 18:20:34 +00:00
bjorn3
cdf4f4287a Remove easy_call 2023-02-17 18:20:14 +00:00
bjorn3
718574a53e Support updating to specific dates in rustup.sh
Fixes #1294
2023-02-17 18:55:51 +01:00
bjorn3
3c5d5bab96 Rustup to rustc 1.69.0-nightly (9a7cc6c32 2023-02-16) 2023-02-17 18:55:11 +01:00
bjorn3
8e5a9bb77d Sync from rust 9a7cc6c32f 2023-02-17 18:49:57 +01:00
bjorn3
8ed6baa749 Rustup to rustc 1.69.0-nightly (2d14db321 2023-02-15) 2023-02-17 18:42:33 +01:00
bjorn3
9491031f9a Rustup to rustc 1.69.0-nightly (0416b1a6f 2023-02-14) 2023-02-17 18:42:14 +01:00
bjorn3
afcdf57c00 Sync from rust 0416b1a6f 2023-02-17 18:06:15 +01:00
Nicholas Nethercote
8fe8e53300 Replace mk_foo calls with infer_foo where possible.
There are several `mk_foo`/`intern_foo` pairs, where the former takes an
iterator and the latter takes a slice. (This naming convention is bad,
but that's a fix for another PR.)

This commit changes several `mk_foo` occurrences into `intern_foo`,
avoiding the need for some `.iter()`/`.into_iter()` calls. Affected
cases:
- mk_type_list
- mk_tup
- mk_substs
- mk_const_list
2023-02-17 22:24:31 +11:00
Maybe Waffle
f58bd0e290 if $c:expr { Some($r:expr) } else { None } =>> $c.then(|| $r) 2023-02-16 15:26:00 +00:00
bors
9b99a58301 Auto merge of #108012 - compiler-errors:issue-107999, r=oli-obk
Don't ICE in `might_permit_raw_init` if reference is polymorphic

Emitting optimized MIR for a polymorphic function may require computing layout of a type that isn't (yet) known. This happens in the instcombine pass, for example. Let's fail gracefully in that condition.

cc `@saethlin`
fixes #107999
2023-02-15 20:56:07 +00:00
Michael Goulet
c75610891d Make permit_uninit/zero_init fallible 2023-02-14 22:37:30 +00:00
bjorn3
5bf5153d00 Fix non-dynamic indexing into vector types 2023-02-14 15:49:32 +00:00
bjorn3
478bc5ba01 Rustup to rustc 1.69.0-nightly (065852def 2023-02-13) 2023-02-14 12:18:14 +01:00
bjorn3
72c6655224 Sync from rust e9ab7872fd 2023-02-14 12:09:13 +01:00
Oli Scherer
14bc2e60c2 s/eval_usize/eval_target_usize/ for clarity 2023-02-14 08:51:19 +00:00
Alan Egerton
c95eca2857 Alias folding/visiting traits instead of re-export 2023-02-13 10:24:46 +00:00
bjorn3
efd33c5a84
Merge pull request #1356 from matthiaskrgr/clippy_compl
clippy::complexity fixes
2023-02-10 23:43:48 +01:00
Matthias Krüger
0b62b643e3 clippy::complexity fixes 2023-02-10 22:21:02 +01:00
bjorn3
291cadb2d8
Merge pull request #1355 from matthiaskrgr/clippy_perf
clippy::perf fixes
2023-02-10 21:06:22 +01:00
Matthias Krüger
1a072c5688 clippy::perf fixes 2023-02-10 20:04:32 +01:00
bjorn3
4a1c2d9c7c Fix signaling available_token_condvar when a new token is received
This slightly improves performance on systems with many cores and
barely affects systems with few cores.

My laptop (2 core + HT):
Before:
Benchmark 2: RUSTC=rustc /home/bjorn/Projects/cg_clif2/./dist/cargo-clif build --manifest-path /home/bjorn/Projects/cg_clif2/./download/simple-raytracer/Cargo.toml --target-dir /home/bjorn/Projects/cg_clif2/./build/simple_raytracer
  Time (mean ± σ):     12.042 s ±  0.313 s    [User: 29.434 s, System: 4.720 s]
  Range (min … max):   11.670 s … 12.795 s    10 runs

After:
Benchmark 2: RUSTC=rustc /home/bjorn/Projects/cg_clif2/./dist/cargo-clif build --manifest-path /home/bjorn/Projects/cg_clif2/./download/simple-raytracer/Cargo.toml --target-dir /home/bjorn/Projects/cg_clif2/./build/simple_raytracer
  Time (mean ± σ):     12.037 s ±  0.384 s    [User: 29.960 s, System: 4.722 s]
  Range (min … max):   11.673 s … 12.769 s    10 runs

Dev desktop (32 cores)
Before:
Benchmark 2: RUSTC=rustc /home/gh-bjorn3/cg_clif/./dist/cargo-clif build --manifest-path /home/gh-bjorn3/cg_clif/./download/simple-raytracer/Cargo.toml --target-dir /home/gh-bjorn3/cg_clif/./build/simple_raytracer
  Time (mean ± σ):     10.425 s ±  0.104 s    [User: 25.877 s, System: 5.513 s]
  Range (min … max):   10.267 s … 10.640 s    10 runs

After:
Benchmark 2: RUSTC=rustc /home/gh-bjorn3/cg_clif/./dist/cargo-clif build --manifest-path /home/gh-bjorn3/cg_clif/./download/simple-raytracer/Cargo.toml --target-dir /home/gh-bjorn3/cg_clif/./build/simple_raytracer
  Time (mean ± σ):     10.212 s ±  0.100 s    [User: 25.918 s, System: 5.555 s]
  Range (min … max):   10.079 s … 10.362 s    10 runs
2023-02-10 18:08:39 +00:00
bjorn3
7870b296e4 Remove a couple of duplicate layout_of and monomorphize calls 2023-02-10 09:26:01 +00:00
bjorn3
bdb0665479 Avoid spurious visible_parent_map query invocation 2023-02-10 09:26:01 +00:00
bjorn3
bbf39002e6 Merge branch 'sync_from_rust' 2023-02-09 12:39:32 +01:00
bjorn3
56951e4f2b Merge commit '7d53619064ab7045c383644cb445052d2a3d46db' into sync_cg_clif-2023-02-09 2023-02-09 12:38:16 +01:00
bjorn3
7d53619064 Force the allocator to be looked up from the perspective of the rustc binary
Fixes #1303
2023-02-07 15:37:49 +01:00