Commit Graph

75228 Commits

Author SHA1 Message Date
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
Oliver Schneider edb2af58e4 Don't use scary block reorderings 2018-03-08 08:34:12 +01:00
Oliver Schneider 5b247b9bbe Report errors in statics during collecting instead of translating 2018-03-08 08:34:12 +01:00
Oliver Schneider df6b40e342 Add regression tests 2018-03-08 08:34:12 +01:00
Oliver Schneider 5125d58fcf Simplify code around reading/writing ConstVals 2018-03-08 08:34:12 +01:00
Oliver Schneider 4fbf1199ef Accidental paste 2018-03-08 08:34:12 +01:00
Oliver Schneider f8602ac12c Explain the existance of is_binop_lang_item 2018-03-08 08:34:12 +01:00
Oliver Schneider 4f65261c43 Remove unused error variants and const eval types 2018-03-08 08:34:12 +01:00
Oliver Schneider ef995bde50 Move the pattern checking code to hair 2018-03-08 08:34:11 +01:00
Oliver Schneider bb81f9bdec only export the two check* functions from check_match 2018-03-08 08:34:11 +01:00
Oliver Schneider 1543367624 The const_eval module is no more 2018-03-08 08:34:11 +01:00
Oliver Schneider 57f9e0e468 Move lit_to_const to pattern and remove the now-empty eval module 2018-03-08 08:34:11 +01:00
Oliver Schneider b38e8af5eb Remove unused function 2018-03-08 08:34:11 +01:00
Oliver Schneider 0e2da01b91 Move compare_const_vals out of eval 2018-03-08 08:34:11 +01:00
Oliver Schneider b75a828e2b Reduce noise in error reporting 2018-03-08 08:34:11 +01:00
Oliver Schneider 8a93972ba9 Use Mutability enum instead of bool 2018-03-08 08:34:11 +01:00
Oliver Schneider c5d2e178e7 Prefer enum instead of magic numbers 2018-03-08 08:34:10 +01:00
Oliver Schneider 8c2db0ba8c Stop emitting miri failed in error messages 2018-03-08 08:34:10 +01:00
Oliver Schneider 03ef614f8f Rename simd shuffle function and adjust comment 2018-03-08 08:34:10 +01:00
Oliver Schneider bdda1196f2 Use layout::Integer over manual *size resolving 2018-03-08 08:34:10 +01:00
Oliver Schneider 9857eaa4df Nuke ConstInt and Const*size 2018-03-08 08:34:10 +01:00
Oliver Schneider 3b8d2e0016 Rename ConstVal::to_u128 to to_raw_bits 2018-03-08 08:34:10 +01:00
Oliver Schneider 2f2c90e733 Destructure Rc wrapped ErrorKind in miri 2018-03-08 08:34:10 +01:00
Oliver Schneider 790d131ac2 Add test for #45044 2018-03-08 08:34:09 +01:00
Oliver Schneider cf056615a8 Add test for attempting to use array indexing for conditional const eval 2018-03-08 08:34:09 +01:00