Refactor capture tracking (which already had a couple flags for whether returns
authorNick Lewycky <nicholas@mxc.ca>
Mon, 14 Nov 2011 22:49:42 +0000 (22:49 +0000)
committerNick Lewycky <nicholas@mxc.ca>
Mon, 14 Nov 2011 22:49:42 +0000 (22:49 +0000)
commit88990248d3bfb2f265fcf27f8a032ac0eb14d09f
treed6733913e0b830749407746b87bf62df6601c79c
parente91da1baa137e3e20a7878030a3b8d5dc5b296f3
Refactor capture tracking (which already had a couple flags for whether returns
and stores capture) to permit the caller to see each capture point and decide
whether to continue looking.

Use this inside memdep to do an analysis that basicaa won't do. This lets us
solve another devirtualization case, fixing PR8908!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144580 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/CaptureTracking.h
include/llvm/Analysis/MemoryDependenceAnalysis.h
lib/Analysis/CaptureTracking.cpp
lib/Analysis/MemoryDependenceAnalysis.cpp
test/Transforms/GVN/rle.ll