Commit Graph

3499 Commits

Author SHA1 Message Date
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
bjorn3
8494882773 Rustup to rustc 1.69.0-nightly (75a0be98f 2023-02-05) 2023-02-06 18:32:25 +01:00
bjorn3
6dfa3c9513 Sync from rust 044a28a409 2023-02-06 18:03:15 +01:00
bjorn3
5ab690d9e7
Merge pull request #1351 from bjorn3/global_asm_const
Implement const and sym operands for global asm
2023-02-05 20:41:49 +01:00
bjorn3
178e267977 Implement sym operands for global asm 2023-02-05 18:48:40 +00:00
bjorn3
df6b067900 Implement const operands for global asm 2023-02-05 18:17:51 +00:00
bjorn3
e238ea6155
Merge pull request #1350 from bjorn3/inline_asm_sym
Implement const and sym operands for inline asm
2023-02-05 19:17:00 +01:00
bjorn3
a2719a285c Fix linker error when inline asm sym operand is not exported from local CGU 2023-02-05 17:39:00 +00:00
bjorn3
2e93be3a4c Add create_wrapper_function helper 2023-02-05 17:24:02 +00:00
bjorn3
044a3a65a0 Support const and sym operands in inline asm 2023-02-05 17:00:47 +00:00
bjorn3
8b48138039
Merge pull request #1347 from bjorn3/dist_no_debug_assertions
Build CI dist artifacts without debug assertions
2023-02-05 15:47:23 +01:00
bjorn3
761a91ade8 Build CI dist artifacts without debug assertions
This significantly improves performance. For example for the
simple-raytracer benchmark it goes from a 13% improvement over LLVM to
39% improvement over LLVM.
2023-02-04 11:31:17 +00:00
bjorn3
efb92a1ae8 Use packed debuginfo for the sysroot on macOS
This reduces the sysroot size
2023-02-03 20:02:15 +00:00
bjorn3
f5669a3548 Fix assert_mem_uninitialized_valid in release mode 2023-02-03 20:02:15 +00:00
bjorn3
2c229a884f
Merge pull request #1346 from bjorn3/self_profile_cleanup
Improve -Ztime-passes and -Zself-profile output
2023-02-03 20:48:22 +01:00
bjorn3
a0d3b0963d Record cranelift pass timings in self profile results 2023-02-03 18:39:05 +00:00
bjorn3
469783c263 Use generic_activity_with_arg in codegen_fn and compile_fn 2023-02-03 17:33:39 +00:00