llvm-6502/lib/Transforms/IPO
Stepan Dyatkovskiy cb3a147870 Second patch of patch series that improves MergeFunctions performance time from O(N*N) to
O(N*log(N)). The idea is to introduce total ordering among functions set.
It allows to build binary tree and perform function look-up procedure in O(log(N)) time. 

This patch description:
Introduced total ordering among constants implemented in cmpConstants method.
Method performs lexicographical comparison between constants represented as
hypothetical numbers of next format:
<bitcastability-trait><raw-bit-contents>

Please, read cmpConstants declaration comments for more details.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208173 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-07 09:05:10 +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
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 Second patch of patch series that improves MergeFunctions performance time from O(N*N) to 2014-05-07 09:05:10 +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