llvm-6502/lib/CodeGen/SelectionDAG
James Y Knight 01d1787830 Fix MergeConsecutiveStore for non-byte-sized memory accesses.
The bug showed up as a compile-time assertion failure:
  Assertion `NumBits >= MIN_INT_BITS && "bitwidth too small"' failed
when building msan tests on x86-64.

Prior to r236850, this bug was masked due to a bogus alignment check,
which also accidentally rejected non-byte-sized accesses. Afterwards,
an invalid ElementSizeBytes == 0 got further into the function, and
triggered the assertion failure.

It would probably be a good idea to allow it to handle merging stores
of unusual widths as well, but for now, to un-break it, I'm just
making the minimal fix.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236927 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-09 03:13:37 +00:00
..
CMakeLists.txt [Statepoints 3/4] Statepoint infrastructure for garbage collection: SelectionDAGBuilder 2014-12-02 18:50:36 +00:00
DAGCombiner.cpp Fix MergeConsecutiveStore for non-byte-sized memory accesses. 2015-05-09 03:13:37 +00:00
FastISel.cpp [Fast-ISel] Don't mark the first use of a remat constant as killed. 2015-05-09 00:51:03 +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
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 Masked gather and scatter intrinsics - enabled codegen for KNL. 2015-05-03 07:12: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 Masked gather and scatter intrinsics - enabled codegen for KNL. 2015-05-03 07:12:25 +00:00
LegalizeVectorTypes.cpp [LegalizeVectorTypes] Allow single loads and stores for more short vectors 2015-05-05 19:32:57 +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
SelectionDAG.cpp Reformat. 2015-05-06 14:03:22 +00:00
SelectionDAGBuilder.cpp Switch lowering: cluster adjacent fall-through cases even at -O0 2015-05-08 21:23:39 +00:00
SelectionDAGBuilder.h [SelectionDAG] Delete SelectionDAGBuilder::removeValue. NFC. 2015-05-06 18:02:10 +00:00
SelectionDAGDumper.cpp Extend the statepoint intrinsic to allow statepoints to be marked as transitions from GC-aware code to code that is not GC-aware. 2015-05-08 18:07:42 +00:00
SelectionDAGISel.cpp [Fast-ISel] Clear kill flags on registers replaced by updateValueMap. 2015-05-08 20:46:54 +00:00
SelectionDAGPrinter.cpp
StatepointLowering.cpp Extend the statepoint intrinsic to allow statepoints to be marked as transitions from GC-aware code to code that is not GC-aware. 2015-05-08 18:07:42 +00:00
StatepointLowering.h Run StatepointLowering.{cpp,h} through clang-format. 2015-04-29 21:52:45 +00:00
TargetLowering.cpp Reformat. 2015-05-06 14:03:22 +00:00
TargetSelectionDAGInfo.cpp