llvm-6502/lib/CodeGen/SelectionDAG
Simon Pilgrim 4e60da755a [DAGCombiner] Combine shuffles of BUILD_VECTOR and SCALAR_TO_VECTOR
This patch attempts to fold the shuffling of 'scalar source' inputs - BUILD_VECTOR and SCALAR_TO_VECTOR nodes - if the shuffle node is the only user. This folds away a lot of unnecessary shuffle nodes, and allows quite a bit of constant folding that was being missed.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234004 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-03 10:02:21 +00:00
..
CMakeLists.txt
DAGCombiner.cpp [DAGCombiner] Combine shuffles of BUILD_VECTOR and SCALAR_TO_VECTOR 2015-04-03 10:02:21 +00:00
FastISel.cpp [WinEH] Run cleanup handlers when an exception is thrown 2015-03-30 22:58:10 +00:00
FunctionLoweringInfo.cpp [WinEH] Implement support for catch-all 2015-04-01 05:20:42 +00:00
InstrEmitter.cpp
InstrEmitter.h
LegalizeDAG.cpp [CodeGen] Replace the reused stores' chain for extractelt expansion. 2015-03-09 22:51:05 +00:00
LegalizeFloatTypes.cpp
LegalizeIntegerTypes.cpp LegalizeTypes: Handle shift by 0 in ExpandShiftByConstant. 2015-03-06 01:13:01 +00:00
LegalizeTypes.cpp
LegalizeTypes.h [SDAG] Move TRUNCATE splitting logic into a helper, and use 2015-03-31 10:20:58 +00:00
LegalizeTypesGeneric.cpp
LegalizeVectorOps.cpp fix typo and 80-col; NFC 2015-03-27 21:45:18 +00:00
LegalizeVectorTypes.cpp [SDAG] Move TRUNCATE splitting logic into a helper, and use 2015-03-31 10:20:58 +00:00
LLVMBuild.txt
Makefile
ResourcePriorityQueue.cpp unique_ptrify ResourcePriorityQueue::ResourceModel 2015-03-03 20:49:08 +00:00
ScheduleDAGFast.cpp
ScheduleDAGRRList.cpp Fix a bug in SelectionDAG scheduling backtracking code: PR22304. 2015-03-27 03:44:13 +00:00
ScheduleDAGSDNodes.cpp Prefer SmallVector::append/insert over push_back loops. 2015-02-17 15:29:18 +00:00
ScheduleDAGSDNodes.h
ScheduleDAGVLIW.cpp
SDNodeDbgValue.h
SelectionDAG.cpp [SDAG] Handle non-integer preferred memset types for non-constant values 2015-03-31 20:35:26 +00:00
SelectionDAGBuilder.cpp [WinEH] Generate .xdata for catch handlers 2015-03-31 22:35:44 +00:00
SelectionDAGBuilder.h Rewrite SelectionDAGBuilder::Clusterify to run in linear time. NFC. 2015-03-20 00:41:03 +00:00
SelectionDAGDumper.cpp CodeGen: Use the new DebugLoc API, NFC 2015-03-30 19:14:47 +00:00
SelectionDAGISel.cpp [WinEH] Run cleanup handlers when an exception is thrown 2015-03-30 22:58:10 +00:00
SelectionDAGPrinter.cpp
StatepointLowering.cpp Require a GC strategy be specified for functions which use gc.statepoint 2015-03-27 05:09:33 +00:00
StatepointLowering.h
TargetLowering.cpp [CodeGen] Report error rather than crash when unable to makeLibCall. 2015-03-26 22:46:58 +00:00
TargetSelectionDAGInfo.cpp