[PATCH] D99687: [SCEV] Compute ranges for ashr/lshr recurrences

Max Kazantsev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Apr 4 20:58:19 PDT 2021


mkazantsev added a comment.

I couldn't find tests for the following scenarios:

- Saturated ashr for positive & negative start;
- Zero shift value (for any operation & start);
- Start/end value not being power of 2 (power of 2 - 1). I am a bit worried that the boundaries of the ranges are always powers of 2, and no test shows that the rounding is correct.

(I don't claim there is none, but I could not find them in this test file :) )
Could you please point out on them (if they exist) or add them?



================
Comment at: llvm/lib/Analysis/ScalarEvolution.cpp:5727
+    //   shift = 0 => unchanged value
+    //   saturation => 0 or -1
+    //   other => a value closer to zero (but sign unknown)
----------------
Any tests for two first cases?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D99687/new/

https://reviews.llvm.org/D99687



More information about the llvm-commits mailing list