MergeFunctions Pass, introduced total ordering among top-level comparison
authorStepan Dyatkovskiy <stpworld@narod.ru>
Sat, 21 Jun 2014 17:55:51 +0000 (17:55 +0000)
committerStepan Dyatkovskiy <stpworld@narod.ru>
Sat, 21 Jun 2014 17:55:51 +0000 (17:55 +0000)
commit17ee5ac20d9044b1beb73ad680c47b45c075b767
treee9b4e489b4a790681474331f2e06d9be6d40360b
parent0bf086f80f92d749a5c21e7d94f787028c1a2c22
MergeFunctions Pass, introduced total ordering among top-level comparison
methods.

Patch changes return type of FunctionComparator::compare() and
FunctionComparator::compare(const BasicBlock*, const BasicBlock*)
methods from bool (equal or not) to {-1, 0, 1} (less, equal, great).

This patch belongs to patch series that improves MergeFunctions
performance time from O(N*N) to O(N*log(N)).

llvm-svn: 211437
llvm/lib/Transforms/IPO/MergeFunctions.cpp