llvm-6502/lib/CodeGen/SelectionDAG
Benjamin Kramer c511b2a5a1 SelectionDAGBuilder: When emitting small compare chains for switches order them by using edge weights.
SimplifyCFG tends to form a lot of 2-3 case switches when merging branches. Move
the most likely condition to the front so it is checked first and the others can
be skipped. This is currently not as effective as it could be because SimplifyCFG
destroys profiling metadata when merging branches and switches. Merging branch
weight metadata is tricky though.

This code touches at most 3 cases so I didn't use a proper sorting algorithm.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157521 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-26 20:01:32 +00:00
..
CMakeLists.txt
DAGCombiner.cpp DAGCombiner should not change the type of an extract_vector index. 2012-05-08 20:56:07 +00:00
FastISel.cpp Properly constrain register classes for sub-registers. 2012-05-20 06:38:37 +00:00
FunctionLoweringInfo.cpp
InstrEmitter.cpp Add an MF argument to TRI::getPointerRegClass() and TII::getRegClass(). 2012-05-07 22:10:26 +00:00
InstrEmitter.h
LegalizeDAG.cpp Change interface for TargetLowering::LowerCallTo and TargetLowering::LowerCall 2012-05-25 16:35:28 +00:00
LegalizeFloatTypes.cpp
LegalizeIntegerTypes.cpp Change interface for TargetLowering::LowerCallTo and TargetLowering::LowerCall 2012-05-25 16:35:28 +00:00
LegalizeTypes.cpp Change interface for TargetLowering::LowerCallTo and TargetLowering::LowerCall 2012-05-25 16:35:28 +00:00
LegalizeTypes.h Fix a thinko in DisintegrateMERGE_VALUES. Patch by Xiaoyi Guo. 2012-05-16 07:57:18 +00:00
LegalizeTypesGeneric.cpp
LegalizeVectorOps.cpp
LegalizeVectorTypes.cpp
LLVMBuild.txt
Makefile
ResourcePriorityQueue.cpp
ScheduleDAGFast.cpp
ScheduleDAGRRList.cpp Mark some static arrays as const. 2012-05-24 06:35:32 +00:00
ScheduleDAGSDNodes.cpp Reapply 155668: Fix the SD scheduler to avoid gluing the same node twice. 2012-04-28 01:03:23 +00:00
ScheduleDAGSDNodes.h
ScheduleDAGVLIW.cpp
SDNodeDbgValue.h
SDNodeOrdering.h
SelectionDAG.cpp Change interface for TargetLowering::LowerCallTo and TargetLowering::LowerCall 2012-05-25 16:35:28 +00:00
SelectionDAGBuilder.cpp SelectionDAGBuilder: When emitting small compare chains for switches order them by using edge weights. 2012-05-26 20:01:32 +00:00
SelectionDAGBuilder.h Recommited reworked r156804: 2012-05-18 08:32:28 +00:00
SelectionDAGDumper.cpp Rename @llvm.debugger to @llvm.debugtrap. 2012-05-14 18:58:10 +00:00
SelectionDAGISel.cpp Add some constantness. No functionality change. 2012-04-30 23:41:30 +00:00
SelectionDAGPrinter.cpp
TargetLowering.cpp Simplify code for calling a function where CanLowerReturn fails, fixing a small bug in the process. 2012-05-25 00:09:29 +00:00
TargetSelectionDAGInfo.cpp