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 | 23428214e96abbe355144d43ffc7a86ba49b8e77 (patch) | |
tree | b68edac0c51ee87ade8d47f64fd43200c0dbf7f9 /llvm/lib/Analysis/DataStructure/DataStructure.cpp | |
parent | e809e3afd80efa3e16d5b62b9eb633f4e9f4671b (diff) | |
download | bcm5719-llvm-23428214e96abbe355144d43ffc7a86ba49b8e77.tar.gz bcm5719-llvm-23428214e96abbe355144d43ffc7a86ba49b8e77.zip |
Rework TD pass to work with the precise call graph constructed by the BU phase
llvm-svn: 7031
Diffstat (limited to 'llvm/lib/Analysis/DataStructure/DataStructure.cpp')
-rw-r--r-- | llvm/lib/Analysis/DataStructure/DataStructure.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/DataStructure/DataStructure.cpp b/llvm/lib/Analysis/DataStructure/DataStructure.cpp index cd73acbc7c7..1f5f58ff471 100644 --- a/llvm/lib/Analysis/DataStructure/DataStructure.cpp +++ b/llvm/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(); |