Added an example when IRCE can't parse a loop bounded by phi, due to
unsafe loop bounds. But it's possible to prove that bounds are safe, by
improving ScalarEvolution
phi(a,b) != 0
a >= 0
b >= 0
------>
phi(a,b) > 0
Differential D144845
[IRCE][Test] Add test to constrain a loop bounded by phi aleksandr.popov on Feb 27 2023, 12:30 AM. Authored by
Details
Added an example when IRCE can't parse a loop bounded by phi, due to phi(a,b) != 0
Diff Detail
Unit Tests
Event TimelineComment Actions High-level comment: if you expect that SCEV is able to prove equivalence of loads, you need it to be able to prove aliasing facts, which I belive it cannot do. It need to somehow know that no one stores to this memory on any posible path from one load to another. Or maybe it can, but I've never seen it doing things like this. Comment Actions I believe there is a motivating example coming from IRCE. @aleksandr.popov can we add it too?
|
; REQUIRES: asserts