MergeFunctions Pass, FnSet has been replaced with FnTree.
authorStepan Dyatkovskiy <stpworld@narod.ru>
Sat, 21 Jun 2014 20:54:36 +0000 (20:54 +0000)
committerStepan Dyatkovskiy <stpworld@narod.ru>
Sat, 21 Jun 2014 20:54:36 +0000 (20:54 +0000)
commit427afb91d38252b1abf0afaa08099f1f8cda3b66
treea9a7ee6b675be3798f4e6cf8e3cbd214a087f74c
parent83ac8b35e91d69222095b6952f3302ba3f43426b
MergeFunctions Pass, FnSet has been replaced with FnTree.

Patch activates new implementation.
So from now, merging process should take time O(N*log(N)).
Where N size of module (we are free to measure it in
functions or in instructions). Internally FnTree represents
binary tree. So every lookup operation takes O(log(N)) time.

It is still not the last patch in series, we also have to
clean-up pass from old code, and update pass comments.

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@211445 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/IPO/MergeFunctions.cpp