Stop needing materialized places for most intrinsics#156116
Conversation
0bc61de to
a8a0062
Compare
This comment has been minimized.
This comment has been minimized.
a8a0062 to
7a7f99b
Compare
This comment has been minimized.
This comment has been minimized.
7a7f99b to
1f0a500
Compare
This comment has been minimized.
This comment has been minimized.
1f0a500 to
6eb4607
Compare
This comment has been minimized.
This comment has been minimized.
6eb4607 to
e19fd5d
Compare
This comment has been minimized.
This comment has been minimized.
e19fd5d to
2f79728
Compare
This comment has been minimized.
This comment has been minimized.
2f79728 to
10f00b6
Compare
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Stop needing materialized places for most intrinsics
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (ce9f4cc): comparison URL. Overall result: ✅ improvements - no action neededBenchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up. @rustbot label: -S-waiting-on-perf -perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (secondary -0.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary -1.2%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary -0.1%, secondary -0.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 496.439s -> 493.878s (-0.52%) |
|
r? codegen |
|
The GCC codegen subtree was changed |
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
|
r=me after CI greens. |
|
@bors r=dianqk |
This comment has been minimized.
This comment has been minimized.
Stop needing materialized places for most intrinsics Today even to return a constant from `size_of_val` it takes an `alloca`. That's wasteful. This updates the cg_ssa traits to allow returning an `OperandValue` instead, which is possible for the vast majority of intrinsics -- this PR moves all but 5 over to doing that in LLVM. The first commit adds a test to help show the difference here. cc rust-lang/compiler-team#970 #153250
This comment has been minimized.
This comment has been minimized.
|
💔 Test for 0ce41cf failed: CI. Failed job:
|
c4f62d6 to
d3d3485
Compare
|
@bors try jobs=x86_64-gnu-debug |
This comment has been minimized.
This comment has been minimized.
Stop needing materialized places for most intrinsics try-job: x86_64-gnu-debug
|
@bors r+ |
This comment has been minimized.
This comment has been minimized.
Stop needing materialized places for most intrinsics Today even to return a constant from `size_of_val` it takes an `alloca`. That's wasteful. This updates the cg_ssa traits to allow returning an `OperandValue` instead, which is possible for the vast majority of intrinsics -- this PR moves all but 5 over to doing that in LLVM. The first commit adds a test to help show the difference here. cc rust-lang/compiler-team#970 #153250
|
💔 Test for 6010ec0 failed: CI. Failed job:
|
View all comments
Today even to return a constant from
size_of_valit takes analloca. That's wasteful.This updates the cg_ssa traits to allow returning an
OperandValueinstead, which is possible for the vast majority of intrinsics -- this PR moves all but 5 over to doing that in LLVM.The first commit adds a test to help show the difference here.
cc rust-lang/compiler-team#970 #153250