llvm-project
b689f8b7 - [SCEV] Limit ControlsOnlyExit logic to BinOps with neutral elements. (#194831)

Commit
9 days ago
[SCEV] Limit ControlsOnlyExit logic to BinOps with neutral elements. (#194831) As far as I can tell, ControlsOnlyExit is used during reasoning to assume that we stay in the loop as long as the condition is true/false, and are guaranteed to exit otherwise. But unless I am missing something, a sub-condition of an AND/OR never solely controls the exit, whether we exit always depends on both conditions. Pass false to ControlsOnlyExit, as otherwise we would incorrectly assume that we must exit if either conditions is true, when we would only exit if both are true. For now, ControlsOnlyExit is only used for the neutral element case, it may be worth removing this. Alive2 proof of IndVars mis-compile: https://alive2.llvm.org/ce/z/kWs4hE PR: https://github.com/llvm/llvm-project/pull/194831
Author
Parents
Loading