llvm-6502/lib/CodeGen/SelectionDAG
Simon Pilgrim 509fb2c84c [SelectionDAG] Unary vector constant folding integer legality fixes
This patch fixes issues with vector constant folding not correctly handling scalar input operands if they require implicit truncation - this was tested with llvm-stress as recommended by Patrik H Hagglund.

The patch ensures that integer input scalars from a build vector are correctly truncated before folding, and that constant integer scalar results are promoted to a legal type before inclusion in the new folded build vector.

I have added another crash test case and also a test for UINT_TO_FP / SINT_TO_FP using an non-truncated scalar input, which was failing before this patch.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236308 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-01 08:20:04 +00:00
..
CMakeLists.txt [Statepoints 3/4] Statepoint infrastructure for garbage collection: SelectionDAGBuilder 2014-12-02 18:50:36 +00:00
DAGCombiner.cpp Masked gather and scatter - added DAGCombine visitors 2015-04-30 08:38:48 +00:00
FastISel.cpp [patchpoint] Add support for symbolic patchpoint targets to SelectionDAG and the 2015-04-22 06:02:31 +00:00
FunctionLoweringInfo.cpp [SEH] Implement GetExceptionCode in __except blocks 2015-04-24 20:25:05 +00:00
InstrEmitter.cpp IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
InstrEmitter.h Remove the uses of getSubtargetImpl from InstrEmitter and remove 2014-10-09 01:35:29 +00:00
LegalizeDAG.cpp CodeGen: Default overflow operations to expand so we don't have to assume targets are lying 2015-04-29 16:30:46 +00:00
LegalizeFloatTypes.cpp Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
LegalizeIntegerTypes.cpp Reinstate revisions r234755, r234759, r234760 2015-04-30 17:15:56 +00:00
LegalizeTypes.cpp Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
LegalizeTypes.h Add support to promote f16 to f32 2015-04-17 18:36:25 +00:00
LegalizeTypesGeneric.cpp Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
LegalizeVectorOps.cpp Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
LegalizeVectorTypes.cpp Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
LLVMBuild.txt
Makefile
ResourcePriorityQueue.cpp unique_ptrify ResourcePriorityQueue::ResourceModel 2015-03-03 20:49:08 +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 Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
ScheduleDAGSDNodes.cpp Prefer SmallVector::append/insert over push_back loops. 2015-02-17 15:29:18 +00:00
ScheduleDAGSDNodes.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
ScheduleDAGVLIW.cpp Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
SDNodeDbgValue.h constify the getters in SDNodeDbgValue. 2014-10-13 20:43:47 +00:00
SelectionDAG.cpp [SelectionDAG] Unary vector constant folding integer legality fixes 2015-05-01 08:20:04 +00:00
SelectionDAGBuilder.cpp Inline local variable to silence unused warning. 2015-04-30 08:51:13 +00:00
SelectionDAGBuilder.h IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
SelectionDAGDumper.cpp Masked gather and scatter - added DAGCombine visitors 2015-04-30 08:38:48 +00:00
SelectionDAGISel.cpp IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
SelectionDAGPrinter.cpp
StatepointLowering.cpp Run StatepointLowering.{cpp,h} through clang-format. 2015-04-29 21:52:45 +00:00
StatepointLowering.h Run StatepointLowering.{cpp,h} through clang-format. 2015-04-29 21:52:45 +00:00
TargetLowering.cpp Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
TargetSelectionDAGInfo.cpp