diff options
author | Chris Lattner <sabre@nondot.org> | 2003-07-01 16:28:11 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-07-01 16:28:11 +0000 |
commit | 18f07a11b990d59e9ae2317136aa456da6ea6a20 (patch) | |
tree | fd93831ddd04baa793432afc94a0afaa4e64c80e /lib/Analysis/DataStructure/DataStructure.cpp | |
parent | b6734b281b0ec657cd95963430fbe36ed7182f6e (diff) |
Rework TD pass to work with the precise call graph constructed by the BU phase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7031 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/DataStructure/DataStructure.cpp')
-rw-r--r-- | lib/Analysis/DataStructure/DataStructure.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Analysis/DataStructure/DataStructure.cpp b/lib/Analysis/DataStructure/DataStructure.cpp index cd73acbc7c..1f5f58ff47 100644 --- a/lib/Analysis/DataStructure/DataStructure.cpp +++ b/lib/Analysis/DataStructure/DataStructure.cpp @@ -977,6 +977,7 @@ static inline bool nodeContainsExternalFunction(const DSNode *N) { } static void removeIdenticalCalls(std::vector<DSCallSite> &Calls) { + // Remove trivially identical function calls unsigned NumFns = Calls.size(); std::sort(Calls.begin(), Calls.end()); // Sort by callee as primary key! @@ -1022,6 +1023,7 @@ static void removeIdenticalCalls(std::vector<DSCallSite> &Calls) { LastCalleeContainsExternalFunction = LastCalleeFunc->isExternal(); } +#if 0 if (LastCalleeContainsExternalFunction || // This should be more than enough context sensitivity! // FIXME: Evaluate how many times this is tripped! @@ -1035,6 +1037,7 @@ static void removeIdenticalCalls(std::vector<DSCallSite> &Calls) { else if (CS.getNumPtrArgs() > OCS.getNumPtrArgs()) OCS = CS; } +#endif } else { if (CS.isDirectCall()) { LastCalleeFunc = CS.getCalleeFunc(); |