[PATCH] D75808: [ValueTracking] isKnownNonZero, computeKnownBits for freeze

Juneyoung Lee via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 7 18:45:25 PDT 2020


aqjune added a comment.

In D75808#2259962 <https://reviews.llvm.org/D75808#2259962>, @fpichet wrote:

> What is the status of this patch? 
> I've seen cases in a out of tree target where an optimization dependent on ValueTracking was not performed because there was a freeze in the way.

Hi, this patch has a dependency on D84242 <https://reviews.llvm.org/D84242>; I'll rebase the patch.



================
Comment at: llvm/lib/Analysis/ValueTracking.cpp:1800
     break;
+  case Instruction::Freeze:
+    if (isGuaranteedNotToBeUndefOrPoison(I->getOperand(0), true, Q.CxtI, Q.DT))
----------------
reames wrote:
> I don't think this is worth adding.  Such a freeze is trivial, and I'd expect the optimizer to simply remove it instead.
KnownBits analysis on freeze can be done when the operand is partially undef. (isGuaranteedNotToBePoison vs. isGuaranteedNotToBeUndefOrPoison)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D75808



More information about the llvm-commits mailing list