Commit Graph

75252 Commits

Author SHA1 Message Date
Oliver Schneider
e8d357f070
Decide signdedness on the layout instead of the type 2018-03-08 08:35:37 +01:00
Oliver Schneider
889a4ebfa9
Deduplicate some code 2018-03-08 08:34:18 +01:00
Oliver Schneider
df283df887
Don't use the undefined bytes of PrimVal::Bytes 2018-03-08 08:34:18 +01:00
Oliver Schneider
7218836500
Fix mozjs crater failure 2018-03-08 08:34:18 +01:00
Oliver Schneider
134c2910ec
Const eval will oom together with rustc now 2018-03-08 08:34:18 +01:00
Oliver Schneider
0ca4b45a0c
Step limit is now terminator limit 2018-03-08 08:34:17 +01:00
Oliver Schneider
b63c6bbfee
Add regression test 2018-03-08 08:34:17 +01:00
Oliver Schneider
d98a2b90b2
Rebase fallout 2018-03-08 08:34:17 +01:00
Oliver Schneider
2f0e077300
Report tcx errors with the span of the currently evaluating statement 2018-03-08 08:34:17 +01:00
Oliver Schneider
1e653aa96b
Report a best guess span if no stack is available anymore 2018-03-08 08:34:17 +01:00
Oliver Schneider
f363e08c9d
Update compile-fail tests 2018-03-08 08:34:17 +01:00
Oliver Schneider
f68dc0190a
Add a test for transmuting via unions in constants 2018-03-08 08:34:17 +01:00
Oliver Schneider
0a1278aea8
Typo 2018-03-08 08:34:17 +01:00
Oliver Schneider
5b698a1040
Unregress error spans in constant errors 2018-03-08 08:34:17 +01:00
Oliver Schneider
421622d8f7
Stage 2 doesn't see suggestion_approximate 2018-03-08 08:34:16 +01:00
Oliver Schneider
f5cc5ca8c7
Remove dead code 2018-03-08 08:34:16 +01:00
Oliver Schneider
1f9d846a58
Add some documentation to pattern/const conversions 2018-03-08 08:34:16 +01:00
Oliver Schneider
b985399831
Reduce code duplication 2018-03-08 08:34:16 +01:00
Oliver Schneider
3c663d0607
Tidy fix 2018-03-08 08:34:16 +01:00
Oliver Schneider
8500c2fab2
Const eval error refactoring 2018-03-08 08:34:16 +01:00
Oliver Schneider
bd03371f71
Add stack traces to miri errors 2018-03-08 08:34:16 +01:00
Oliver Schneider
8c53d54b98
Update tests 2018-03-08 08:34:16 +01:00
Oliver Schneider
d2f363ba89
Report all errors other than those about insufficient type information 2018-03-08 08:34:15 +01:00
Oliver Schneider
64fbf5d5ad
Compute the ParamEnv only once and use it to call tcx.const_eval 2018-03-08 08:34:15 +01:00
Oliver Schneider
a678044c77
Add regression test for const prop 2018-03-08 08:34:15 +01:00
Oliver Schneider
dde68dcfe5
Can only const prop temporaries
Variables might error in branches that are not reachable due to the variable value.
2018-03-08 08:34:15 +01:00
Oliver Schneider
05a03d7537
Update tests 2018-03-08 08:34:15 +01:00
Oliver Schneider
1561b4ad50
Simplify const propagator by removing unused code paths 2018-03-08 08:34:15 +01:00
Oliver Schneider
411fcf58fd
Rename OptimizationFinder and don't propagate any borrows 2018-03-08 08:34:15 +01:00
Oliver Schneider
57ae890265
Simplify const prop checks through PlaceContext 2018-03-08 08:34:15 +01:00
Oliver Schneider
65ed591197
Move the resource limits to the session in preparation for attributes configuring them 2018-03-08 08:34:15 +01:00
Oliver Schneider
0462d092d2
Figure out const propgatable locals in a single pass 2018-03-08 08:34:14 +01:00
Oliver Schneider
16d560fd99
Remove unused error E0020 2018-03-08 08:34:14 +01:00
Oliver Schneider
ceb634a732
Update tests 2018-03-08 08:34:14 +01:00
Oliver Schneider
45abb1ba84
Stabilize const_indexing feature 2018-03-08 08:34:14 +01:00
Oliver Schneider
600fcc7159
Report const eval errors at the correct span 2018-03-08 08:34:14 +01:00
Oliver Schneider
13c0dc56df
Only report bitshift lints on bitshift ops 2018-03-08 08:34:14 +01:00
Oliver Schneider
438139f635
rustc_passes::consts -> rvalue_promotion 2018-03-08 08:34:14 +01:00
Oliver Schneider
929a4cece5
Use IndexVec instead of FxHashMap 2018-03-08 08:34:14 +01:00
Oliver Schneider
8c8a433532
Merge const linting pass into const prop 2018-03-08 08:34:14 +01:00
Oliver Schneider
0f72f0009a
Remove redundant warnings in rustc_trans 2018-03-08 08:34:13 +01:00
Oliver Schneider
c568807989
Remove single field struct by just using the field 2018-03-08 08:34:13 +01:00
Oliver Schneider
e093ab0df4
Adjust tests to changed const err lints 2018-03-08 08:34:13 +01:00
Oliver Schneider
4667346042
Remove the fragile const propagator and just do linting 2018-03-08 08:34:13 +01:00
Oliver Schneider
ec857e1e09
Deduplicate code in rustdoc 2018-03-08 08:34:13 +01:00
Oliver Schneider
d57a109203
Adjust tests to more aggressive const err linting 2018-03-08 08:34:13 +01:00
Oliver Schneider
21554b96af
Fix ICE in const prop 2018-03-08 08:34:13 +01:00
Oliver Schneider
e549f0b3d6
Simplify const SIMD shuffle in trans 2018-03-08 08:34:13 +01:00
Oliver Schneider
00c95b29bc
Revert all changes to the instcombine pass 2018-03-08 08:34:13 +01:00
Oliver Schneider
54615ec989
Split const prop into its own pass 2018-03-08 08:34:12 +01:00