MergeFunctions Pass, introduced total ordering among operations.
authorStepan Dyatkovskiy <stpworld@narod.ru>
Fri, 16 May 2014 11:02:22 +0000 (11:02 +0000)
committerStepan Dyatkovskiy <stpworld@narod.ru>
Fri, 16 May 2014 11:02:22 +0000 (11:02 +0000)
commit0885a28635557e4154aad0f8ebf3be571736a962
tree5ada50b79146b8b36f77be4fde856ab149eac96a
parente4dfc196e4add93dabd006dd110d88fe3069dd85
MergeFunctions Pass, introduced total ordering among operations.

Patch replaces old isEquivalentOperation implementation, and changes type of
comparison result from bool (equal or not) to {-1, 0, 1} (less, equal, greater).

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