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)
commitf4af855930579ff8fc4d8b7db7c4f1606095d43b
tree1de165f29eacfd214265f8240b9818a41c29d6dd
parent71038cadd469598d56391d2059bb533f6ba44a51
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)).

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