1
Fork 0
Commit graph

29 commits

Author SHA1 Message Date
Oli Scherer
d66824dbc4 Make alignment checks a future incompat lint 2022-12-15 16:07:28 +00:00
Jannis Christopher Köhl
ea23585c91 Disable limits if mir-opt-level >= 4 2022-11-12 20:14:34 +01:00
Jannis Christopher Köhl
d66a00a7b1 Expand upon comment regarding self-assignment 2022-11-12 20:05:52 +01:00
Jannis Christopher Köhl
74d53ab912 Require -Zmir-opt-level >= 3 for now 2022-11-12 15:24:23 +01:00
Jannis Christopher Köhl
b3f648958d Add comment for guessed constants 2022-11-12 14:07:54 +01:00
Jannis Christopher Köhl
8ecb276735 Simplify creation of map 2022-11-10 19:12:10 +01:00
Jannis Christopher Köhl
9766ee0b20 Fix struct field tracking and add tests for it 2022-11-09 18:21:42 +01:00
Jannis Christopher Köhl
bfbca6c75c Completely remove tracking of references for now 2022-11-09 18:03:30 +01:00
Jannis Christopher Köhl
72196ee666 Limit number of basic blocks and tracked places to 100 for now 2022-11-07 10:35:26 +01:00
Jannis Christopher Köhl
b478fcf270 Use new cast methods 2022-11-07 10:35:26 +01:00
Jannis Christopher Köhl
630e17d3e4 Limit number of tracked places, and some other perf improvements 2022-11-07 10:35:26 +01:00
Jannis Christopher Köhl
1f82a9f89e Move HasTop and HasBottom into lattice.rs 2022-11-07 10:35:25 +01:00
Jannis Christopher Köhl
f29533b4e0 Small documentation changes 2022-11-07 10:35:25 +01:00
Jannis Christopher Köhl
efc7ca8c7d Use ParamEnv consistently 2022-11-07 10:35:25 +01:00
Jannis Christopher Köhl
d86acdd72a Prevent propagation of overflow if overflow occured 2022-11-07 10:35:24 +01:00
Jannis Christopher Köhl
062053ba79 Fix unimplemented binary_ptr_op 2022-11-07 10:35:24 +01:00
Jannis Christopher Köhl
274a49132b Improve documentation, plus some small changes 2022-11-07 10:35:23 +01:00
Jannis Christopher Köhl
931d99f61f Make overflow handling more precise 2022-11-07 10:35:23 +01:00
Jannis Christopher Köhl
be9013f02b Make overflow flag propagation conditional 2022-11-07 10:35:23 +01:00
Jannis Christopher Köhl
890fae9c60 Fix rebased CastKind 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
111324e17c Prevent registration inside references if target is !Freeze 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
bc82c13e97 Track Scalar instead of ScalarInt for const prop 2022-11-07 10:35:16 +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
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
4f9c30fb67 Add initial version of value analysis and dataflow constant propagation 2022-11-07 10:35:08 +01:00