Jannis Christopher Köhl
890fae9c60
Fix rebased CastKind
2022-11-07 10:35:22 +01:00
Jannis Christopher Köhl
aaa35b3e48
Add comment for the current retag situation
2022-11-07 10:35:22 +01:00
Jannis Christopher Köhl
5696d06e22
Use the same is_enabled as the current const prop
2022-11-07 10:35:21 +01:00
Jannis Christopher Köhl
b9dbb81b5e
Improve example used for SB tests
2022-11-07 10:35:21 +01:00
Jannis Christopher Köhl
7a52e7350e
Add tests for Stacked Borrows behavior
2022-11-07 10:35:21 +01:00
Jannis Christopher Köhl
3c0f3b04b5
Only assume Stacked Borrows if -Zunsound-mir-opts is given
2022-11-07 10:35:21 +01:00
Jannis Christopher Köhl
111324e17c
Prevent registration inside references if target is !Freeze
2022-11-07 10:35:20 +01:00
Jannis Christopher Köhl
4478a87018
Fix formatting
2022-11-07 10:35:20 +01:00
Jannis Christopher Köhl
7ab1ba95de
Remove Unknown
state in favor of Value(Top)
2022-11-07 10:35:20 +01:00
Jannis Christopher Köhl
1765587846
Only track (trivially) freeze types
2022-11-07 10:35:20 +01:00
Jannis Christopher Köhl
b5063ab0e5
Make more assumptions explicit
2022-11-07 10:35:19 +01:00
Jannis Christopher Köhl
2f66e9417f
Flood with bottom for Deinit, StorageLive and StorageDead
2022-11-07 10:35:19 +01:00
Jannis Christopher Köhl
eab77320e6
Handle NonDivergingIntrinsic and CopyNonOverlapping
2022-11-07 10:35:19 +01:00
Jannis Christopher Köhl
f99950f6ae
Update test results after rebase
2022-11-07 10:35:18 +01:00
Jannis Christopher Köhl
c56e99cdba
Fix typo
2022-11-07 10:35:18 +01:00
Jannis Christopher Köhl
97a69a7670
Add some more unit-test directives
2022-11-07 10:35:18 +01:00
Jannis Christopher Köhl
4cda6e5401
Update test results
2022-11-07 10:35:18 +01:00
Jannis Christopher Köhl
686861711d
Add tests from current const prop
2022-11-07 10:35:17 +01:00
Jannis Christopher Köhl
13b70599c1
Only allow registration of scalars for now
2022-11-07 10:35:16 +01:00
Jannis Christopher Köhl
bc82c13e97
Track Scalar instead of ScalarInt for const prop
2022-11-07 10:35:16 +01:00
Jannis Christopher Köhl
817c27744d
Handle StorageLive
2022-11-07 10:35:16 +01:00
Jannis Christopher Köhl
e2ddf8a6e5
Add comment about downcast projection element
2022-11-07 10:35:15 +01:00
Jannis Christopher Köhl
1e5ca57014
Use StorageDead and Deinit to flood place
2022-11-07 10:35:15 +01:00
Jannis Christopher Köhl
904adcac0f
Flood place on drop
2022-11-07 10:35:15 +01:00
Jannis Christopher Köhl
2113e45488
Remove superfluous line
2022-11-07 10:35:14 +01:00
Jannis Christopher Köhl
2e4d0820d2
Add more documentation
2022-11-07 10:35:14 +01:00
Jannis Christopher Köhl
895181b962
Remove leftover test files
2022-11-07 10:35:14 +01:00
Jannis Christopher Köhl
f234419a15
Rebase onto master
2022-11-07 10:35:13 +01:00
Jannis Christopher Köhl
fe84bbf844
Add tracking of unreachability
2022-11-07 10:35:13 +01:00
Jannis Christopher Köhl
16dedba1c8
Ignore terminators explicitly
2022-11-07 10:35:13 +01:00
Jannis Christopher Köhl
469fb197d0
Update other test results
2022-11-07 10:35:12 +01:00
Jannis Christopher Köhl
8a789ce009
Reject registration of downcasts for now
2022-11-07 10:35:12 +01:00
Jannis Christopher Köhl
47a00d5337
Flood with bottom instead of top for unreachable branches
2022-11-07 10:35:12 +01:00
Jannis Christopher Köhl
ad99d2e15d
Move handling of references and simplify flooding
2022-11-07 10:35:11 +01:00
Jannis Christopher Köhl
3f98dc7838
Clarify place expressions vs place objects
2022-11-07 10:35:11 +01:00
Jannis Christopher Köhl
1da3033340
Change test from usize to i32 to prevent target issues
2022-11-07 10:35:11 +01:00
Jannis Christopher Köhl
e75ad93d95
Begin a semi-formal argument for correctness
2022-11-07 10:35:10 +01:00
Jannis Christopher Köhl
292869493c
Add additional flooding when assigning a value and corresponding test
2022-11-07 10:35:10 +01:00
Jannis Christopher Köhl
bb1639769e
Clarify registration and tracking of references
2022-11-07 10:35:10 +01:00
Jannis Christopher Köhl
c83489c64b
Remove empty test
2022-11-07 10:35:10 +01:00
Jannis Christopher Köhl
93ee806233
Update test results
2022-11-07 10:35:09 +01:00
Jannis Christopher Köhl
56ff16d19f
Fix spelling
2022-11-07 10:35:09 +01:00
Jannis Christopher Köhl
601fcc41d3
Update test results
2022-11-07 10:35:09 +01:00
Jannis Christopher Köhl
d0afe6833d
Try field type normalization instead of forcing it
2022-11-07 10:35:08 +01:00
Jannis Christopher Köhl
4f9c30fb67
Add initial version of value analysis and dataflow constant propagation
2022-11-07 10:35:08 +01:00
bors
9b735a7132
Auto merge of #104083 - JohnTitor:rollup-lo3wbzs, r=JohnTitor
...
Rollup of 9 pull requests
Successful merges:
- #103885 (rustdoc: various cross-crate reexport fixes)
- #103914 (Make underscore_literal_suffix a hard error.)
- #104045 (Add type_array to BaseTypeMethods)
- #104056 (Vec: IntoIterator signature consistency)
- #104059 (Fix typo in `rustc_middle/lint.rs`)
- #104062 (rustdoc: remove unused CSS `#sidebar-filler`)
- #104065 (Migrate rust logo filter to CSS variables)
- #104066 (LLVM 16: Update RISCV data layout)
- #104074 (rustdoc: Add an example for round that is different from truncate)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2022-11-07 02:15:39 +00:00
Yuki Okushi
7ca833efe0
Rollup merge of #104074 - yancyribbens:add-example-to-round, r=Mark-Simulacrum
...
rustdoc: Add an example for round that is different from truncate
The current examples for [round](https://github.com/rust-lang/rust/blob/master/library/std/src/f64.rs#L75 ) would have the same results as the example for [truncate](https://github.com/rust-lang/rust/blob/master/library/std/src/f64.rs#L95 ). This PR adds one more example to `round` that will have a different result from `truncate`.
2022-11-07 09:46:29 +09:00
Yuki Okushi
02a0bdee0d
Rollup merge of #104066 - TimNN:riscv-layout, r=nikic
...
LLVM 16: Update RISCV data layout
The RISCV data layout was changed in 974e2e690b
.
This updates all `riscv64*` targets, though I don't really know what the difference between the `gc` and `imac` ones is.
Passes `x test codegen` at LLVM head and with the currently bundled LLVM version. Without this patch, some tests fail with:
> error: internal compiler error: compiler/rustc_codegen_llvm/src/context.rs:192:13: data-layout for target `riscv64gc-unknown-none-elf`, `e-m:e-p:64:64-i64:64-i128:128-n64-S128`, differs from LLVM target's `riscv64` default layout, `e-m:e-p:64:64-i64:64-i128:128-n32:64-S128
2022-11-07 09:46:28 +09:00
Yuki Okushi
fe6161a6a5
Rollup merge of #104065 - GuillaumeGomez:css-migrate-logo-filter, r=notriddle
...
Migrate rust logo filter to CSS variables
2022-11-07 09:46:28 +09:00
Yuki Okushi
458b132bf9
Rollup merge of #104062 - notriddle:notriddle/sidebar-filler, r=GuillaumeGomez
...
rustdoc: remove unused CSS `#sidebar-filler`
This hack was removed in 6a5f8b1aef
, but the CSS was left in.
2022-11-07 09:46:27 +09:00