bors
41501a6b03
Auto merge of #67437 - matthew-healy:skip-llvm-rebuild, r=Mark-Simulacrum
...
Add LLVM `skip-rebuild` option to `x.py`
This PR reimplements parts of @Walther's work from #65848 , and closes #65612 .
I decided not to implement the [arguments to override this setting](https://github.com/rust-lang/rust/issues/65612#issuecomment-544247546 ) in this PR. If there's strong feeling that this change shouldn't be merged without the overrides then I'm happy to close this until I've had a chance to add them in. Otherwise I'll aim to submit a second PR with those this weekend.
I'd have liked to have tested the change in `native.rs`, but there didn't seem to be any existing test infrastructure. I ran this a few times manually and it _worked on my machine_ though... 😬
2019-12-27 10:58:57 +00:00
bors
8f5f8f916f
Auto merge of #67192 - oli-obk:const_zst_addr, r=RalfJung,varkor
...
Various const eval and pattern matching ICE fixes
r? @RalfJung
cc @spastorino
This PR does not change existing behaviour anymore and just fixes a bunch of ICEs reachable from user code (sometimes even on stable via obscure union transmutes).
2019-12-27 07:38:52 +00:00
bors
a04c789f69
Auto merge of #66936 - cjgillot:hirene-expr, r=Zoxc
...
Allocate HIR on an arena 2/4 -- Expr & Pat
This is the second PR in the series started by #66931
This time, commits don't really make sense on their own.
They are mostly split by type of compile error.
The additional diff is here: https://github.com/cjgillot/rust/compare/hirene-preamble...hirene-expr
2019-12-27 01:40:41 +00:00
Camille GILLOT
fb100e5ddc
Move arena_vec inside lowering.
2019-12-26 23:40:50 +01:00
Camille GILLOT
75632c5ffe
Remove some type information.
2019-12-26 23:40:13 +01:00
Camille GILLOT
1984ec5d20
Fewer calls to arena.alloc.
2019-12-26 23:39:14 +01:00
Camille GILLOT
8284035372
Fallout in other crates.
2019-12-26 23:38:46 +01:00
Camille GILLOT
58b908d09c
Lowering for hir::Expr.
2019-12-26 23:36:12 +01:00
Camille GILLOT
52e9825ba8
Visit for hir::Expr.
2019-12-26 23:36:12 +01:00
Camille GILLOT
2b1cfe5b5b
Syntax for hir::Expr.
2019-12-26 23:36:12 +01:00
Matthew Healy
e44fc4577f
Skip LLVM rebuild when skip-rebuild is true
2019-12-26 22:19:18 +00:00
Matthew Healy
2297a8b199
Parse llvm_skip_rebuild into Config
2019-12-26 22:16:42 +00:00
Matthew Healy
1a01f97785
Document LLVM skip-rebuild config.toml option
2019-12-26 22:16:41 +00:00
Oliver Scherer
f65a91eb47
Make ui test bitwidth independent
2019-12-26 22:50:18 +01:00
Oliver Scherer
12a4c2ca18
Fix rebase fallout
2019-12-26 22:50:18 +01:00
Oliver Scherer
aaffe12453
Use the targetted const eval functions
2019-12-26 22:50:18 +01:00
Oliver Scherer
b476344ccc
Reintroduce the recursion comment
2019-12-26 22:50:18 +01:00
Oliver Scherer
1531c3937b
Documentation nit
2019-12-26 22:50:18 +01:00
Oliver Scherer
20c1b3fb49
Add a const_eval
helper to InterpCx
2019-12-26 22:50:18 +01:00
Oliver Scherer
1acbf4b802
Early abort instead of building up zero sized values
2019-12-26 22:50:18 +01:00
Oliver Scherer
95205518dd
Explain why const_eval
is ok here
2019-12-26 22:50:17 +01:00
Oliver Scherer
0e3fafaea7
Typo
2019-12-26 22:50:17 +01:00
Oliver Scherer
72ebce0e1b
Remove unintended noisy log statement
2019-12-26 22:50:17 +01:00
Oliver Scherer
6937ca2c90
Explain the currently necessary existance of TransmuteSizeDiff
2019-12-26 22:50:17 +01:00
Oliver Scherer
cb8d1c3c65
Explain what we are doing with parameter environments for statics
2019-12-26 22:50:17 +01:00
Oliver Scherer
8a88ff1006
Comments should start capitalized and end in a period
2019-12-26 22:50:17 +01:00
Oliver Scherer
41d58185dd
Explain ParamEnv::reveal_all usage
2019-12-26 22:50:17 +01:00
Oliver Scherer
6b651b1a88
Add regression test for ZST statics being allowed to "read" from themselves
2019-12-26 22:50:17 +01:00
Oliver Scherer
a7a011d2fa
Immediately evaluate and validate constants when we want them as operands
2019-12-26 22:50:17 +01:00
Oliver Scherer
0e969b73f6
Interning even happens when validation of a constant fails
2019-12-26 22:50:17 +01:00
Oliver Scherer
a0bd1a695d
Prevent an ICE on invalid transmutes
2019-12-26 22:50:16 +01:00
Oliver Scherer
13694de4a2
Comment on a few odd things that we should look at
2019-12-26 22:50:16 +01:00
Oliver Scherer
bb1ecee5b6
Simplify force_allocation_maybe_sized
2019-12-26 22:50:16 +01:00
Oliver Scherer
b5b5258d74
Retire to_ptr
which should already have no users but still kept getting new ones
2019-12-26 22:50:14 +01:00
Oliver Scherer
1e40681f50
Don't ICE on the use of integer addresses for ZST constants in pattern matching
2019-12-26 22:46:22 +01:00
bors
3e0a1c0910
Auto merge of #67592 - matthewjasper:cleanup-match, r=Centril
...
Prepare for lowering or-patterns
This is probably best reviewed commit-by-commit.
* Rustfmt `rustc_mir::build::{self, matches}`
* Remove `-Znll-dont-emit-read-for-match`
* Split `match_expr` into smaller functions
* Feature gate or-patterns in const contexts
cc https://github.com/rust-lang/rust/issues/54883
r? @Centril
2019-12-26 16:44:52 +00:00
bors
3ac40b69c7
Auto merge of #67327 - oli-obk:cleanup, r=RalfJung
...
Split up `const_eval.rs`
Fixes #67316
r? @RalfJung
2019-12-26 13:15:05 +00:00
Oliver Scherer
07df1479e5
Rebase fallout
2019-12-26 12:11:12 +01:00
Oliver Scherer
7d5f36a1e5
A cycle error on a diverging function is now a const stack overflow again
2019-12-26 12:11:12 +01:00
Oliver Scherer
2e66f85111
Bail out before running the query
2019-12-26 12:11:12 +01:00
Oliver Scherer
b97abd0761
Tidy
2019-12-26 12:11:12 +01:00
Oliver Scherer
49f5b0834b
Fix imports after rebase
2019-12-26 12:11:12 +01:00
Oliver Scherer
d5f1d75dd2
Rename query
module
2019-12-26 12:11:12 +01:00
Oliver Scherer
4ffdd9a16a
Move function definitions before their first use
2019-12-26 12:11:12 +01:00
Oliver Scherer
e21d2c8f9b
Move all functions used by the queries to query.rs
2019-12-26 12:11:12 +01:00
Oliver Scherer
43221a684d
Move a function to make its adjacent impl block easier to discover
2019-12-26 12:11:11 +01:00
Oliver Scherer
eea51e3427
Make some functions crate local
2019-12-26 12:11:11 +01:00
Oliver Scherer
eda3fa9eb5
Move eval_body_using_ecx
to the only module it is used in
2019-12-26 12:11:11 +01:00
Oliver Scherer
9a82458e70
Move eval_const_fn_call
to the const_eval
module
2019-12-26 12:11:11 +01:00
Oliver Scherer
2d67edd32c
Move const eval query components into their own module
2019-12-26 12:11:11 +01:00