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 |
|