[PATCH] D140851: [Patch 3/4]: Add cases for assume (X & Y != {0|Y})

Noah Goldstein via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 4 16:13:03 PST 2023


goldstein.w.n marked 4 inline comments as done.
goldstein.w.n added inline comments.


================
Comment at: llvm/lib/Analysis/ValueTracking.cpp:701
+    if (!isValidAssumeForContext(I, Q.CxtI, Q.DT))
+      continue;
+
----------------
nikic wrote:
> I believe the placement of this call was intentional, because it is more expansive than the icmp operand checks. That said, I don't see a compile-time impact on CTMark, though that is not exactly an assume-heavy workload.
> 
> We did address various inefficiencies in isValidAssumeForContext() over time though, so I would be fine with trying this change. It should be split out into a separate NFC patch though.
> I believe the placement of this call was intentional, because it is more expansive than the icmp operand checks. That said, I don't see a compile-time impact on CTMark, though that is not exactly an assume-heavy workload.
> 
> We did address various inefficiencies in isValidAssumeForContext() over time though, so I would be fine with trying this change. It should be split out into a separate NFC patch though.

Fair enough. Once this is all through I'll make a patch and can discuss there.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D140851



More information about the llvm-commits mailing list