llvm-6502/lib
Stepan Dyatkovskiy ab35f3fd0c First 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.
That allows to build binary tree and perform function look-up procedure in O(log(N)) time. 

This patch description:
Introduced total ordering among Type instances. Actually it is improvement for existing
isEquivalentType.
0. Coerce pointer of 0 address space to integer.
1. If left and right types are equal (the same Type* value), return 0 (means equal).
2. If types are of different kind (different type IDs). Return result of type IDs
comparison, treating them as numbers.
3. If types are vectors or integers, return result of its
pointers comparison (casted to numbers).
4. Check whether type ID belongs to the next group: 
* Void 
* Float 
* Double 
* X86_FP80 
* FP128 
* PPC_FP128 
* Label 
* Metadata 
If so, return 0.
5. If left and right are pointers, return result of address space
comparison (numbers comparison).
6. If types are complex.
Then both LEFT and RIGHT will be expanded and their element types will be checked with
the same way. If we get Res != 0 on some stage, return it. Otherwise return 0.
7. For all other cases put llvm_unreachable.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203788 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-13 11:54:50 +00:00
..
Analysis PR17473: 2014-03-12 21:31:05 +00:00
AsmParser IR: add a second ordering operand to cmpxhg for failure 2014-03-11 10:48:52 +00:00
Bitcode IR: add a second ordering operand to cmpxhg for failure 2014-03-11 10:48:52 +00:00
CodeGen Phase 1 of refactoring the MachineRegisterInfo iterators to make them suitable 2014-03-13 06:02:25 +00:00
DebugInfo [C++11] DWARF parser: use SmallVector<std::unique_ptr> for parsed units in DWARFContext, and delete custom destructors 2014-03-13 08:19:59 +00:00
ExecutionEngine [ppc64] Patch in TOC restore code after all external function calls 2014-03-11 15:26:27 +00:00
IR [PM] Stop playing fast and loose with rebinding of references. However 2014-03-13 09:50:31 +00:00
IRReader
LineEditor
Linker
LTO
MC MC: fix silly typo 2014-03-13 07:02:46 +00:00
Object Support: add support to identify WinCOFF/ARM objects 2014-03-13 07:02:35 +00:00
Option
Support Support: add support to identify WinCOFF/ARM objects 2014-03-13 07:02:35 +00:00
TableGen
Target AArch64: error when both positional & named operands are used. 2014-03-13 09:00:13 +00:00
Transforms First patch of patch series that improves MergeFunctions performance time from O(N*N) to 2014-03-13 11:54:50 +00:00
CMakeLists.txt Back out Profile library and dependent commits 2014-03-12 22:00:57 +00:00
LLVMBuild.txt Back out Profile library and dependent commits 2014-03-12 22:00:57 +00:00
Makefile Back out Profile library and dependent commits 2014-03-12 22:00:57 +00:00