llvm-6502/lib/CodeGen/SelectionDAG
Daniel Jasper 529ff2f257 Prevent binary-tree deterioration in sparse switch statements.
This addresses part of llvm.org/PR22262. Specifically, it prevents
considering the densities of sub-ranges that have fewer than
TLI.getMinimumJumpTableEntries() elements. Those densities won't help
jump tables.

This is not a complete solution but works around the most pressing
issue.

Review: http://reviews.llvm.org/D7070

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226600 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-20 19:43:33 +00:00
..
CMakeLists.txt [Statepoints 3/4] Statepoint infrastructure for garbage collection: SelectionDAGBuilder 2014-12-02 18:50:36 +00:00
DAGCombiner.cpp Improve DAG combine pass on certain IR vector patterns 2015-01-17 01:35:56 +00:00
FastISel.cpp [PM] Move TargetLibraryInfo into the Analysis library. 2015-01-15 02:16:27 +00:00
FunctionLoweringInfo.cpp Remove dead code for llvm.eh.selector in the old EH model 2015-01-14 18:49:39 +00:00
InstrEmitter.cpp Remove the uses of getSubtargetImpl from InstrEmitter and remove 2014-10-09 01:35:29 +00:00
InstrEmitter.h Remove the uses of getSubtargetImpl from InstrEmitter and remove 2014-10-09 01:35:29 +00:00
LegalizeDAG.cpp Implement new way of expanding extloads. 2015-01-14 01:35:17 +00:00
LegalizeFloatTypes.cpp Add minnum / maxnum codegen 2014-10-21 23:01:01 +00:00
LegalizeIntegerTypes.cpp Masked Load/Store - fixed a bug in type legalization. 2015-01-08 12:29:19 +00:00
LegalizeTypes.cpp [PowerPC] Implement readcyclecounter for PPC32 2014-12-02 22:01:00 +00:00
LegalizeTypes.h Masked Load/Store - fixed a bug in type legalization. 2015-01-08 12:29:19 +00:00
LegalizeTypesGeneric.cpp AA metadata refactoring (introduce AAMDNodes) 2014-07-24 12:16:19 +00:00
LegalizeVectorOps.cpp [SelectionDAG] Allow targets to specify legality of extloads' result 2015-01-08 00:51:32 +00:00
LegalizeVectorTypes.cpp Masked Load/Store - fixed a bug in type legalization. 2015-01-08 12:29:19 +00:00
LLVMBuild.txt
Makefile
ResourcePriorityQueue.cpp Remove unused argument to CreateTargetScheduleState and change 2014-10-09 01:59:35 +00:00
ScheduleDAGFast.cpp Update SetVector to rely on the underlying set's insert to return a pair<iterator, bool> 2014-11-19 07:49:26 +00:00
ScheduleDAGRRList.cpp Update SetVector to rely on the underlying set's insert to return a pair<iterator, bool> 2014-11-19 07:49:26 +00:00
ScheduleDAGSDNodes.cpp Adjust ScheduleDAGSDNodes::RegDefIter for patchpoints 2015-01-14 01:07:03 +00:00
ScheduleDAGSDNodes.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
ScheduleDAGVLIW.cpp Remove more calls to getSubtargetImpl from the schedulers and 2014-10-09 06:28:06 +00:00
SDNodeDbgValue.h constify the getters in SDNodeDbgValue. 2014-10-13 20:43:47 +00:00
SelectionDAG.cpp Implement new way of expanding extloads. 2015-01-14 01:35:17 +00:00
SelectionDAGBuilder.cpp Prevent binary-tree deterioration in sparse switch statements. 2015-01-20 19:43:33 +00:00
SelectionDAGBuilder.h Factor out a splitSwitchCase() function so that it can be reused. 2015-01-20 08:57:44 +00:00
SelectionDAGDumper.cpp Masked Load / Store Intrinsics - the CodeGen part. 2014-12-04 09:40:44 +00:00
SelectionDAGISel.cpp [PM] Remove the Pass argument from all of the critical edge splitting 2015-01-19 12:09:11 +00:00
SelectionDAGPrinter.cpp Revert "Introduce a string_ostream string builder facilty" 2014-06-26 22:52:05 +00:00
StatepointLowering.cpp Move ownership of GCStrategy objects to LLVMContext 2015-01-16 20:07:33 +00:00
StatepointLowering.h [Statepoints 3/4] Statepoint infrastructure for garbage collection: SelectionDAGBuilder 2014-12-02 18:50:36 +00:00
TargetLowering.cpp Replace size method call of containers to empty method where appropriate 2015-01-15 11:41:30 +00:00
TargetSelectionDAGInfo.cpp Have TargetSelectionDAGInfo take a DataLayout initializer rather than 2014-06-06 19:04:48 +00:00