OSDN Git Service

[ValueTracking] refactor: extract method haveNoCommonBitsSet
authorJingyue Wu <jingyue@google.com>
Thu, 14 May 2015 23:53:19 +0000 (23:53 +0000)
committerJingyue Wu <jingyue@google.com>
Thu, 14 May 2015 23:53:19 +0000 (23:53 +0000)
commit19eda5312a4c069a062940fd1e17e8687b3249c2
treecbf528aedc060c2e27ab9d7c3bb80e37e5bebd0a
parent2b5899e7fc582a8adf16903c30be02ab947510c6
[ValueTracking] refactor: extract method haveNoCommonBitsSet

Summary:
Extract method haveNoCommonBitsSet so that we don't have to duplicate this logic in
InstCombine and SeparateConstOffsetFromGEP.

This patch also makes SeparateConstOffsetFromGEP more precise by passing
DominatorTree to computeKnownBits.

Test Plan: value-tracking-domtree.ll that tests ValueTracking indeed leverages dominating conditions

Reviewers: broune, meheff, majnemer

Reviewed By: majnemer

Subscribers: jholewinski, llvm-commits

Differential Revision: http://reviews.llvm.org/D9734

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237407 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/ValueTracking.h
lib/Analysis/ValueTracking.cpp
lib/Transforms/InstCombine/InstCombineAddSub.cpp
lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
test/Transforms/SeparateConstOffsetFromGEP/NVPTX/value-tracking-domtree.ll [new file with mode: 0644]