[CaptureTracking] Support operand bundles conservatively
authorSanjoy Das <sanjoy@playingwithpointers.com>
Wed, 4 Nov 2015 23:21:06 +0000 (23:21 +0000)
committerSanjoy Das <sanjoy@playingwithpointers.com>
Wed, 4 Nov 2015 23:21:06 +0000 (23:21 +0000)
commita6cbeb82b6689a1956d20c22c2e431388bdc5602
tree0bd73e8d0ea375518e022bec184c590c7c7582e2
parent61dbca10ea813ea3af447cc7ac2556a5e81211f9
[CaptureTracking] Support operand bundles conservatively

Summary:
Earlier CaptureTracking would assume all "interesting" operands to a
call or invoke were its arguments.  With operand bundles this is no
longer true.

Note: an earlier change got `doesNotCapture` working correctly with
operand bundles.

This change uses DSE to test the changes to CaptureTracking.  DSE is a
vehicle for testing only, and is not directly involved in this change.

Reviewers: reames, majnemer

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252095 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/CaptureTracking.cpp
test/Feature/OperandBundles/dse.ll [new file with mode: 0644]