[llvm-dev] ScalarEvolution invariants around wrapping flags

Tim Northover via llvm-dev llvm-dev at lists.llvm.org
Thu Sep 26 06:19:46 PDT 2019


Thanks for the information everyone, it's clarified my thinking
significantly. With that better understanding I've tracked the problem
I'm seeing down to r366419 (https://reviews.llvm.org/D64868), which
got committed in July.

To me it looks like the patch is invalid because isAddRecNeverPoison
is a loop-relative computation. To add the flags to the increment we'd
need to know that the loop is guaranteed to execute at least once,
which doesn't really have a query available.

Does that sound right? And if so should we revert it or try to
incorporate a loop-executed check? I probably tend towards revert.

Cheers.

Tim.


More information about the llvm-dev mailing list