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)
commit23a7bfce977e70673dbd512926136a385e9d66e3
treea0e09083f231eae1146b70309ae1c63680ffc71e
parent6b7ff6be9c1bcf8ce440c7f1c7646fbf059562e4
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)).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211437 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/IPO/MergeFunctions.cpp