rust/src
bors 7425fb293f Auto merge of #98377 - davidv1992:add-lifetimes-to-argument-temporaries, r=oli-obk
Added llvm lifetime annotations to function call argument temporaries.

The goal of this change is to ensure that llvm will do stack slot
optimization on these temporaries. This ensures that in code like:
```rust
const A: [u8; 1024] = [0; 1024];

fn copy_const() {
    f(A);
    f(A);
}
```
we only use 1024 bytes of stack space, instead of 2048 bytes.

I am new to developing for the rust compiler, and as such not entirely sure, but I believe this should be sufficient to close #98156.

Also, this does not contain a test case to ensure this keeps working, primarily because I am not sure how to go about testing this. I would love some suggestions as to how that could be approached.
2022-06-30 09:20:52 +00:00
..
bootstrap Rollup merge of #98434 - dpaoliello:staticcrt, r=jyn514 2022-06-29 20:34:58 +02:00
ci Rollup merge of #98422 - GuillaumeGomez:browser-ui-test-update, r=Dylan-DPC 2022-06-23 14:39:19 -07:00
doc Rollup merge of #98401 - ehuss:extern-tracking, r=Dylan-DPC 2022-06-25 15:14:12 +02:00
etc Rollup merge of #95446 - notseanray:master, r=Mark-Simulacrum 2022-06-22 15:16:08 +09:00
librustdoc Rollup merge of #98685 - camelid:sorting-flag, r=GuillaumeGomez 2022-06-30 00:23:54 +02:00
llvm-project@d1ddc34c4b Update LLVM submodule 2022-06-25 09:36:03 +02:00
rustdoc-json-types rustdoc-json: Fix HRTBs for WherePredicate::BoundPredicate 2022-05-04 21:03:01 +02:00
test Auto merge of #98377 - davidv1992:add-lifetimes-to-argument-temporaries, r=oli-obk 2022-06-30 09:20:52 +00:00
tools update Miri 2022-06-29 22:14:03 -04:00
README.md
stage0.json change stage0.json to reduce the chance of merge conflicts 2022-06-09 19:43:11 +02:00
version bump version to 1.64.0 2022-06-24 17:27:24 +02:00

This directory contains the source code of the rust project, including:

  • The test suite
  • The bootstrapping build system
  • Various submodules for tools, like rustdoc, rls, etc.

For more information on how various parts of the compiler work, see the rustc dev guide.