[PATCH] D37215: [ValueTracking] improve reverse assumption inference
Hal Finkel via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 31 13:33:27 PDT 2017
On 08/31/2017 03:22 PM, Ariel Ben-Yehuda wrote:
> Are not all the `isAssumeLikeIntrinsic` intrinsics are argmemonly?
They might be, but the argmemonly check does not seem correct. I don't
see what argmemonly has to do with the semantics for which you're
checking (which, as explained in the comment above, is that the call
much return (i.e. not exit the process or hang, etc.).
-Hal
>
> On Thu, Aug 31, 2017 at 5:41 PM, Hal Finkel via Phabricator
> <reviews at reviews.llvm.org> wrote:
>> hfinkel added a comment.
>>
>> This looks good, however, you need to either:
>>
>> 1. Don't remove isAssumeLikeIntrinsic, but instead, update isGuaranteedToTransferExecutionToSuccessor to call it.
>> 2. Update isGuaranteedToTransferExecutionToSuccessor to have the complete list from isAssumeLikeIntrinsic.
>>
>> Right now, isGuaranteedToTransferExecutionToSuccessor only checks:
>>
>> return CS.onlyReadsMemory() || CS.onlyAccessesArgMemory() ||
>> match(I, m_Intrinsic<Intrinsic::assume>());
>>
>>
>> https://reviews.llvm.org/D37215
>>
>>
>>
--
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory
More information about the llvm-commits
mailing list