Erik Desjardins
6ea536d99b
Revert "Revert "Auto merge of #83417 - erikdesjardins:enableremovezsts, r=oli-obk""
...
This reverts commit 8e11199a15 .
2021-08-19 22:28:32 -04:00
Erik Desjardins
8e11199a15
Revert "Auto merge of #83417 - erikdesjardins:enableremovezsts, r=oli-obk"
...
This reverts commit 8007b506ac , reversing
changes made to e55c13e109 .
2021-08-15 23:44:34 -04:00
Caio
6aa9937a76
Introduce hir::ExprKind::Let - Take 2
2021-08-15 16:18:26 -03:00
Erik Desjardins
585e4ae6e1
Run RemoveZsts at mir-opt-level=1
...
Effectively reverts commit 6960bc9696 .
2021-08-07 11:20:46 -04:00
Camille GILLOT
fc069d3241
Remove remains of rustc_dirty.
2021-05-16 10:16:31 +02:00
Camille GILLOT
175345b864
Fix tests on traits.
2021-05-15 14:38:32 +02:00
Camille GILLOT
da093d713a
Remove label in dirty/clean annotations.
2021-05-15 13:20:42 +02:00
Camille GILLOT
18bffdb10e
Move parenting info to index_hir.
2021-04-29 21:36:55 +02:00
Vadim Petrochenkov
5839bff0ba
Remove attribute #[link_args]
2021-04-03 21:25:53 +03:00
Jack Huey
6d5efa9f04
Add var to BoundRegion. Add query to get bound vars for applicable items.
2021-03-31 10:16:37 -04:00
Camille GILLOT
6b5d2de97e
Bless tests.
2021-03-09 19:27:59 +01:00
bors
d03fe84169
Auto merge of #79328 - c410-f3r:hir-if, r=matthewjasper
...
Reintroduce hir::ExprKind::If
Basically copied and paste #59288/https://github.com/rust-lang/rust-clippy/pull/4080 with some modifications.
The vast majority of tests were fixed and now there are only a few remaining. Since I am still unable to figure out the missing pieces, any help with the following list is welcome.
- [ ] **Unnecessary `typeck` exception**: [Cheated on this one to make CI green.](https://github.com/rust-lang/rust/pull/79328/files#diff-3faee9ba23fc54a12b7c43364ba81f8c5660045c7e1d7989a02a0cee1c5b2051 )
- [x] **Incorrect span**: [Span should reference `then` and `else` separately.](https://github.com/rust-lang/rust/pull/79328/files#diff-cf2c46e82222ee4b1037a68fff8a1af3c4f1de7a6b3fd798aacbf3c0475abe3d )
- [x] **New note regarding `assert!`**: [Modified but not "wrong". Maybe can be a good thing?](https://github.com/rust-lang/rust/pull/79328/files#diff-9e0d7c89ed0224e2b62060c957177c27db43c30dfe3c2974cb6b5091cda9cfb5 )
- [x] **Inverted report location**: [Modified but not "wrong". Locations were inverted.](https://github.com/rust-lang/rust/pull/79328/files#diff-f637ce7c1f68d523a165aa9651765df05e36c4d7d279194b1a6b28b48a323691 )
- [x] **`src/test/ui/point-to-type-err-cause-on-impl-trait-return.rs` has weird errors**: [Not sure why this is happening.](https://github.com/rust-lang/rust/pull/79328/files#diff-c823c09660f5b112f95e97e8ff71f1797b6c7f37dbb3d16f8e98bbaea8072e95 )
- [x] **Missing diagnostic**: [???](https://github.com/rust-lang/rust/pull/79328/files#diff-6b8ab09360d725ba4513933827f9796b42ff9522b0690f80b76de067143af2fc )
2021-01-14 14:41:58 +00:00
Mark Rousskov
4614671cae
Update code to account for extern ABI requirement
2021-01-13 07:49:45 -05:00
Caio
f85fc264fe
Reintroduce hir::ExprKind::If
2021-01-07 18:54:12 -03:00
Camille GILLOT
044a986015
Update test.
2020-11-26 21:32:28 +01:00
Tomasz Miąsko
4c3e06a0ba
simplify-locals: Remove unused assignments regardless of rvalue kind
2020-10-26 10:48:28 +01:00
Tomasz Miąsko
52d3782685
simplify-locals: Remove unused set-discriminant statements
...
Update affected ui & incremental tests to use a user declared variable
bindings instead of temporaries. The former are preserved because of
debuginfo, the latter are not.
2020-10-26 10:41:44 +01:00
Valentin Lazureanu
1e6adad33f
Rename TypeckTables to TypeckResults.
2020-07-17 08:47:04 +00:00
Bastian Kauschke
d4cb820528
mir_built is a lie
2020-07-15 12:58:32 +02:00
Jonas Schievink
2359299537
Clear MIR local type annotations after borrowck
2020-05-24 04:15:23 +02:00
Jonas Schievink
415fd0cc1a
const prop: don't special case return place
2020-04-20 21:18:20 +02:00
Amanieu d'Antras
1cc521ef9d
Update tests to use llvm_asm!
2020-03-26 15:49:22 +00:00
Eduard-Mihai Burtescu
e8f1dfae64
hir: replace "items" terminology with "nodes" where appropriate.
2020-03-19 14:36:04 +02:00
Matthew Jasper
1ee5829575
Update tests for erasing regions in typeck
2020-03-17 09:07:56 +00:00
John Kåre Alsaker
10b23e3fd3
Format function_interfaces.rs
2020-03-14 22:52:31 +01:00
John Kåre Alsaker
274fb668b4
Replace Hir with hir_owner in tests
2020-03-14 22:52:31 +01:00
John Kåre Alsaker
c0b60c428a
Replace HirBody with hir_owner_items in tests
2020-03-14 22:52:31 +01:00
Eduard-Mihai Burtescu
563ed27c01
rustc: move debug info from LocalDecl and UpvarDecl into a dedicated VarDebugInfo.
2019-11-27 19:22:03 +02:00
Wesley Wiser
db5fc10c21
[mir-opt] Turn on the ConstProp pass by default
...
perf.rlo shows that running the `ConstProp` pass results in
across-the-board wins regardless of debug or opt complilation mode. As a
result, we're turning it on to get the compile time benefits.
`ConstProp` doesn't currently intern the memory used by its `Machine` so
we can't yet propagate allocations which is why
`ConstProp::should_const_prop()` checks if the value being propagated is
a scalar or not.
2019-11-11 20:57:26 -05:00
Wesley Wiser
4505ff4bad
[mir-opt] Handle aggregates in SimplifyLocals pass
2019-11-08 22:28:53 -05:00
Wesley Wiser
2ec73395b9
Improve SimplifyLocals pass so it can remove unused consts
...
The `ConstProp` can cause many locals to be initialized to a constant
value and then never read from. `ConstProp` can also evaluate ZSTs into
constant values. Previously, many of these would be removed by other
parts of the MIR optimization pipeline. However, evaluating ZSTs
(especially `()`) into constant values defeated those parts of the
optimizer and so in a2e3ed5c05 , I added a
hack to `ConstProp` that skips evaluating ZSTs to avoid that regression.
This commit changes `SimplifyLocals` so that it doesn't consider writes
of const values to a local to be a use of that local. In doing so,
`SimplifyLocals` is able to remove otherwise unused locals left behind
by other optimization passes (`ConstProp` in particular).
2019-10-20 23:49:42 -04:00
Mark Rousskov
7b3adc289e
Ban non-extern rust intrinsics
...
Intrinsics can only be defined by the compiler.
2019-09-14 11:47:02 -04:00
bors
555d7a2fd6
Auto merge of #63580 - wesleywiser:move_promoted_out, r=oli-obk
...
Move promoted MIR out of `mir::Body`
r? @oli-obk
2019-08-26 07:48:24 +00:00
Josh Stone
d810e77f4e
Revert "Allow a dirty MirBuilt for make_extern and make_method_extern"
...
This reverts commit b4a6f59793 .
2019-08-25 09:47:50 -07:00
Wesley Wiser
d6bf776bc6
Fix incremental tests
2019-08-23 21:36:57 -04:00
Wesley Wiser
5c45420bda
Changed tests
2019-08-22 06:36:31 -04:00
sd234678
4eec03d33e
Cherry-pick src/test changes with Centril's changes
2019-08-19 22:31:46 +01:00
Mazdak Farrokhzad
b9e7e3175a
while_{let_}loops/change_{break,continue}: typeck_tables_of clean.
2019-07-06 06:43:58 +02:00
Mazdak Farrokhzad
ebcc966ac1
Adjust incremental test while_loops.rs
2019-07-06 06:43:58 +02:00
Yuki Okushi
c004451a20
Migrate compile-pass annotations to build-pass
2019-07-03 06:30:28 +09:00
Matthew Jasper
ff71b80a85
Change compare mode to use -Zborrowck=mir
2019-05-12 18:46:43 +01:00
Mazdak Farrokhzad
8d1e5b8b39
Various test changes
2019-05-10 19:41:10 +02:00
varkor
7f0f0e31ec
Remove double trailing newlines
2019-04-22 16:57:01 +01:00
John Kåre Alsaker
4558068482
Update tests
2019-03-30 18:43:26 +01:00
John Kåre Alsaker
72f8d4e222
Add no_hash to query macro and move some queries over
2019-03-20 16:06:09 +01:00
John Kåre Alsaker
9e9d03fd66
Add load_cached query modifier and keep dep node names consistent with query names
2019-03-18 08:20:09 +01:00
John Kåre Alsaker
7d90547532
Define queries using a proc macro
2019-03-18 08:20:06 +01:00
John Kåre Alsaker
b4a6f59793
Allow a dirty MirBuilt for make_extern and make_method_extern
2019-02-08 07:25:32 +01:00
John Kåre Alsaker
a0f02cdba0
Update tests
2019-02-08 04:28:36 +01:00
David Wood
95c18382cb
Fix unresolved inference variable ICE.
...
This commit moves well-formedness check for the
`UserTypeAnnotation::Ty(..)` case from always running to only when the
code is reachable. This solves the ICE that resulted from
`src/test/ui/issue-54943-1.rs` (a minimal repro of `dropck-eyepatch`
run-pass tests that failed).
The main well-formedness check that was intended to be run despite
unreachable code still is, that being the
`UserTypeAnnotation::TypeOf(..)` case. Before this PR, the other case
wasn't being checked at all.
It is possible to fix this ICE while still always checking
well-formedness for the `UserTypeAnnotation::Ty(..)` case but that
solution will ICE in unreachable code for that case, the diff for
that change [can be found here](0).
[0]: https://gist.github.com/davidtwco/f9751ffd9c0508f7251c0f17adc3af53
2018-12-30 14:30:59 +01:00