llvm-6502/lib
Jingyue Wu feecc904c4 [NaryReassociate] speeds up candidate searching
Summary:
This fixes a left-over efficiency issue in D8950.

As Andrew and Daniel suggested, we can store the candidates in a stack
and pop the top element when it does not dominate the current
instruction. This reduces the worst-case time complexity to O(n).

Test Plan: a new test in nary-add.ll that exercises this optimization.

Reviewers: broune, dberlin, meheff, atrick

Reviewed By: atrick

Subscribers: llvm-commits, sanjoy

Differential Revision: http://reviews.llvm.org/D9055

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235129 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-16 18:42:31 +00:00
..
Analysis DebugInfo: Gut DIType and subclasses 2015-04-16 01:01:28 +00:00
AsmParser DebugInfo: Remove 'inlinedAt:' field from MDLocalVariable 2015-04-15 22:29:27 +00:00
Bitcode DebugInfo: Remove 'inlinedAt:' field from MDLocalVariable 2015-04-15 22:29:27 +00:00
CodeGen [WinEH] Handle a landingpad, resume, and cleanup all rolled into a BB 2015-04-16 17:02:23 +00:00
DebugInfo Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
ExecutionEngine Revert "[RuntimeDyldELF] Fold Placeholder into Addend" 2015-04-16 08:58:15 +00:00
Fuzzer Removing a spurious space; NFC. 2015-04-06 16:09:13 +00:00
IR DebugInfo: Allow DebugLocs to be constructed from const 2015-04-16 16:56:29 +00:00
IRReader
LineEditor
Linker DebugInfo: Gut DISubprogram and DILexicalBlock* 2015-04-14 03:40:37 +00:00
LTO uselistorder: Remove the global bits 2015-04-15 03:14:06 +00:00
MC Write section and section table entries in the same order. 2015-04-15 13:07:47 +00:00
Object Change range-based for-loops to be -Wrange-loop-analysis clean. 2015-04-15 01:21:15 +00:00
Option Remove more superfluous .str() and replace std::string concatenation with Twine. 2015-03-30 15:42:36 +00:00
Passes [PM] Fixup for r231556 where I missed a dependency on intrinsics 2015-03-07 09:08:20 +00:00
ProfileData Re-sort includes with sort-includes.py and insert raw_ostream.h where it's used. 2015-03-23 19:32:43 +00:00
Support Fix lib\support\Windows/TimeValue.inc(48): warning C4189: 2015-04-15 07:45:52 +00:00
TableGen Remove empty non-virtual destructors or mark them =default when non-public 2015-04-11 15:32:26 +00:00
Target [AArch64] Add v8.1a "Virtualization Host Extensions" 2015-04-16 15:38:58 +00:00
Transforms [NaryReassociate] speeds up candidate searching 2015-04-16 18:42:31 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile