llvm-6502/lib/Transforms/IPO
Stepan Dyatkovskiy 9b363106f3 MergeFunctions Pass, introduced total ordering among values.
This is a third patch of patch series that improves MergeFunctions
performance time from O(N*N) to O(N*log(N)).

This patch description:
Being comparing functions we need to compare values we meet at left and
right sides.
Its easy to sort things out for external values. It just should be
the same value at left and right.
But for local values (those were introduced inside function body)
we have to ensure they were introduced at exactly the same place,
and plays the same role.

In short, patch introduces values serial numbering and comparison routine.
The last one compares two values by their serial numbers.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208189 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-07 11:11:39 +00:00
..
ArgumentPromotion.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
BarrierNoopPass.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-05 09:10:37 +00:00
CMakeLists.txt Introduce a BarrierNoop pass, a hack designed to allow *some* control 2012-10-18 08:05:46 +00:00
ConstantMerge.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
DeadArgumentElimination.cpp Add a <tuple> include to more files that aren't getting it transitively on MSVC. 2014-04-30 07:21:01 +00:00
ExtractGV.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
FunctionAttrs.cpp SCC: Change clients to use const, NFC 2014-04-25 18:24:50 +00:00
GlobalDCE.cpp Re-commit r208025, reverted in r208030, with a fix for a conformance issue 2014-05-06 01:44:26 +00:00
GlobalOpt.cpp Re-commit r208025, reverted in r208030, with a fix for a conformance issue 2014-05-06 01:44:26 +00:00
InlineAlways.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
Inliner.cpp [inline cold threshold] Command line argument for inline threshold will 2014-04-25 17:34:55 +00:00
InlineSimple.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
Internalize.cpp LTO: -internalize sets visibility to default 2014-05-05 17:40:44 +00:00
IPConstantPropagation.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
IPO.cpp Initialize the barrier pass llvm::initializeIPO 2013-12-12 20:45:08 +00:00
LLVMBuild.txt Prune redundant dependencies in LLVMBuild.txt. 2013-12-11 00:30:57 +00:00
LoopExtractor.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
Makefile
MergeFunctions.cpp MergeFunctions Pass, introduced total ordering among values. 2014-05-07 11:11:39 +00:00
PartialInlining.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
PassManagerBuilder.cpp Reapply: Add slp vectorization to LTO passes. The bug it exposed has been fixed by r207983. <radar://16641956> 2014-05-05 23:14:46 +00:00
PruneEH.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
StripDeadPrototypes.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:55:47 +00:00
StripSymbols.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00