[PATCH] D37215: [ValueTracking] improve reverse assumption inference

Hideto Ueno via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 30 10:12:24 PDT 2019


uenoku added a comment.

In D37215#1605735 <https://reviews.llvm.org/D37215#1605735>, @jdoerfert wrote:

> @uenoku This looks like sth. the Attributor should do as well (at some point), I mean use llvm.assume information


It seems interesting.



================
Comment at: llvm/lib/Analysis/ValueTracking.cpp:569
+
   // The context comes first, but they're both in the same block. Make sure
   // there is nothing in between that might interrupt the control flow.
----------------
MustBeExecutedContextExplorer (in D65186) can simplify this check.



================
Comment at: llvm/lib/Analysis/ValueTracking.cpp:4279
     return CS.onlyReadsMemory() || CS.onlyAccessesArgMemory() ||
-           match(I, m_Intrinsic<Intrinsic::assume>()) ||
-           match(I, m_Intrinsic<Intrinsic::sideeffect>()) ||
-           match(I, m_Intrinsic<Intrinsic::experimental_widenable_condition>());
+           isAssumeLikeIntrinsic(I);
   }
----------------
D65455 gives annotation for `AssumeLikeInst` so you will be able to remove this check.


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

https://reviews.llvm.org/D37215





More information about the llvm-commits mailing list