llvm-6502/lib
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
..
Analysis [C++11] Add NArySCEV->Operands iterator range 2014-05-07 06:07:47 +00:00
AsmParser Add 'musttail' marker to call instructions 2014-04-24 20:14:34 +00:00
Bitcode [IR] Make {extract,insert}element accept an index of any integer type. 2014-05-01 22:12:39 +00:00
CodeGen [BUG][REFACTOR] 2014-05-07 09:51:22 +00:00
DebugInfo [DWARF parser] Cleanup code in DWARFDebugLine. 2014-04-30 00:09:19 +00:00
ExecutionEngine [ARM64] Try and make the ELF MCJIT *slightly* less broken for ARM64. 2014-04-30 10:15:41 +00:00
IR [BUG][REFACTOR] 2014-05-07 09:51:22 +00:00
IRReader [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-15 06:32:26 +00:00
LineEditor [CMake] Use LINK_LIBS instead of target_link_libraries(). 2014-02-26 06:41:29 +00:00
Linker Be more strict about not calling setAlignment on global aliases. 2014-05-06 14:51:36 +00:00
LTO Use a range loop. 2014-05-05 20:06:41 +00:00
MC Allow using normal .eh_frame based unwinding on ARM. Use the same 2014-05-07 07:49:34 +00:00
Object [ELFYAML] Group ELF header falgs to target specific blocks. Handle flags 2014-05-03 11:39:50 +00:00
Option Protect the ArgList dtor 2014-04-20 23:59:00 +00:00
ProfileData Fixing a cast-qual warning. getBufferStart() and getBufferEnd() both return a const char *, so casting to non-const was triggering a warning (even though the assignment and usage was always const anyway). 2014-05-01 17:16:24 +00:00
Support [Support/MemoryBuffer] Remove the assertion that the file size did not shrink. 2014-05-06 23:30:56 +00:00
TableGen [tablegen] Add !listconcat operator with the similar semantics as !strconcat 2014-05-07 10:13:19 +00:00
Target [mips] Split Instruction.Predicates into smaller lists and re-join them with !listconcat 2014-05-07 10:27:09 +00:00
Transforms MergeFunctions Pass, introduced total ordering among values. 2014-05-07 11:11:39 +00:00
CMakeLists.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
LLVMBuild.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
Makefile ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00