[ValueTracking] Extend range metadata to call/invoke

Description

[ValueTracking] Extend range metadata to call/invoke

Summary:
With this patch, range metadata can be added to call/invoke including
IntrinsicInst. Previously, it could only be added to load.

Rename computeKnownBitsLoad to computeKnownBitsFromRangeMetadata because
range metadata is not only used by load.

Update the language reference to reflect this change.

Test Plan:
Add several tests in range-2.ll to confirm the verifier is happy with
having range metadata on call/invoke.

Add two tests in AddOverFlow.ll to confirm annotating range metadata to
call/invoke can benefit InstCombine.

Reviewers: meheff, nlewycky, reames, hfinkel, eliben

Reviewed By: eliben

Subscribers: llvm-commits

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

Details

Committed
jingyueJun 19 2014, 9:50 AM
Reviewer
eliben
Differential Revision
D4187: [ValueTracking] Extend range metadata to call/invoke
Parents
rL211280: Update for ScopStmt iterator name change in LLVM r210927
Branches
Unknown
Tags
Unknown