diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2012-10-08 22:12:48 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2012-10-08 22:12:48 +0000 |
commit | c92b8aa79f4a2cd16f7b674189e425c2c367e886 (patch) | |
tree | aaa2cbd2342ad1e9f67b04a26d5d1122f12a36d4 | |
parent | 6be75ae196e0138048f685d4df7128d24245be5e (diff) | |
download | external_llvm-c92b8aa79f4a2cd16f7b674189e425c2c367e886.tar.gz external_llvm-c92b8aa79f4a2cd16f7b674189e425c2c367e886.tar.bz2 external_llvm-c92b8aa79f4a2cd16f7b674189e425c2c367e886.zip |
Give CaptureTracker::shouldExplore a base implementation. Most users want to do
the same thing. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165435 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Analysis/CaptureTracking.h | 2 | ||||
-rw-r--r-- | lib/Analysis/CaptureTracking.cpp | 4 | ||||
-rw-r--r-- | lib/Transforms/IPO/FunctionAttrs.cpp | 2 |
3 files changed, 3 insertions, 5 deletions
diff --git a/include/llvm/Analysis/CaptureTracking.h b/include/llvm/Analysis/CaptureTracking.h index 9b5e8425ad..2889269b95 100644 --- a/include/llvm/Analysis/CaptureTracking.h +++ b/include/llvm/Analysis/CaptureTracking.h @@ -46,7 +46,7 @@ namespace llvm { /// capture) return false. To search it, return true. /// /// U->getUser() is always an Instruction. - virtual bool shouldExplore(Use *U) = 0; + virtual bool shouldExplore(Use *U); /// captured - Information about the pointer was captured by the user of /// use U. Return true to stop the traversal or false to continue looking diff --git a/lib/Analysis/CaptureTracking.cpp b/lib/Analysis/CaptureTracking.cpp index 974b906b34..d9c02990a8 100644 --- a/lib/Analysis/CaptureTracking.cpp +++ b/lib/Analysis/CaptureTracking.cpp @@ -23,6 +23,8 @@ using namespace llvm; CaptureTracker::~CaptureTracker() {} +bool CaptureTracker::shouldExplore(Use *U) { return true; } + namespace { struct SimpleCaptureTracker : public CaptureTracker { explicit SimpleCaptureTracker(bool ReturnCaptures) @@ -30,8 +32,6 @@ namespace { void tooManyUses() { Captured = true; } - bool shouldExplore(Use *U) { return true; } - bool captured(Use *U) { if (isa<ReturnInst>(U->getUser()) && !ReturnCaptures) return false; diff --git a/lib/Transforms/IPO/FunctionAttrs.cpp b/lib/Transforms/IPO/FunctionAttrs.cpp index f974bd0c04..0e16589ece 100644 --- a/lib/Transforms/IPO/FunctionAttrs.cpp +++ b/lib/Transforms/IPO/FunctionAttrs.cpp @@ -276,8 +276,6 @@ namespace { void tooManyUses() { Captured = true; } - bool shouldExplore(Use *U) { return true; } - bool captured(Use *U) { CallSite CS(U->getUser()); if (!CS.getInstruction()) { Captured = true; return true; } |