[PATCH] D109553: [SCEV] Attempt to define what flags are legal on a SCEV

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 10 11:21:46 PDT 2021


efriedma added inline comments.


================
Comment at: llvm/lib/Analysis/ScalarEvolution.cpp:13512
               getMulExpr(getUDivExpr(URemLHS, URemRHS), URemRHS,
-                         (SCEV::NoWrapFlags)(SCEV::FlagNUW | SCEV::FlagNSW));
           RewriteMap[V] = Multiple;
----------------
I think the expression here is naturally nuw: `(X /u Y) * Y` must be less than or equal to X.  No idea why it's getting marked nsw, though.

Anyway, we can deal with various violations (e.g. ScalarEvolution::getGEPExpr) in future patches.


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

https://reviews.llvm.org/D109553



More information about the llvm-commits mailing list