llvm/lib/CodeGen/SelectionDAG
Hiroshi Inoue 903642ae3c [SelectionDAG] set dereferenceable flag in MergeConsecutiveStores to fix assetion failure
When SelectionDAG merges consecutive stores and loads in MergeConsecutiveStores, it does not set dereferenceable flag for a created load instruction. This results in an assertion failure if SelectionDAG commonizes this load instruction with other load instructions, as well as it may miss optimization opportunities.

This patch sat dereferenceable flag for the newly created load instruction if all the load instructions to be merged are dereferenceable.

Differential Revision: https://reviews.llvm.org/D34679



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306404 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-27 12:43:08 +00:00
..
CMakeLists.txt [DAG] Move BaseIndexOffset into separate Libarary. NFC. 2017-06-21 15:40:43 +00:00
DAGCombiner.cpp [SelectionDAG] set dereferenceable flag in MergeConsecutiveStores to fix assetion failure 2017-06-27 12:43:08 +00:00
FastISel.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
FunctionLoweringInfo.cpp ISel: Fix FastISel of swifterror values 2017-06-15 17:34:42 +00:00
InstrEmitter.cpp Move value type list from TargetRegisterClass to TargetRegisterInfo 2017-04-24 19:51:12 +00:00
InstrEmitter.h Pass DebugLoc and SDLoc by const ref. 2016-06-12 15:39:02 +00:00
LegalizeDAG.cpp DAG: correctly legalize UMULO. 2017-06-20 15:01:38 +00:00
LegalizeFloatTypes.cpp Revert "[APInt] Fix a few places that use APInt::getRawData to operate within the normal API." 2017-04-23 12:15:30 +00:00
LegalizeIntegerTypes.cpp AVX-512: Fixed a crash during legalization of <3 x i8> type 2017-06-25 13:36:20 +00:00
LegalizeTypes.cpp [MVT][SVE] Scalable vector MVTs (3/3) 2017-04-20 13:54:09 +00:00
LegalizeTypes.h Do not legalize large setcc with setcce, introduce setcccarry and do it with usubo/setcccarry. 2017-06-01 11:14:17 +00:00
LegalizeTypesGeneric.cpp [SelectionDAG] Use getBuildVector helper where possible. NFCI 2017-04-25 15:10:47 +00:00
LegalizeVectorOps.cpp Added LLVM_FALLTHROUGH to address warning: this statement may fall through. NFC. 2017-06-03 05:11:14 +00:00
LegalizeVectorTypes.cpp Introduce experimental generic intrinsics for horizontal vector reductions. 2017-05-09 10:43:25 +00:00
LLVMBuild.txt
ResourcePriorityQueue.cpp Refactoring with range-based for, NFC 2017-05-04 13:35:17 +00:00
ScheduleDAGFast.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
ScheduleDAGRRList.cpp [SelectionDAG] Fix an use-after-free issue introduced in r305775. 2017-06-20 09:29:43 +00:00
ScheduleDAGSDNodes.cpp Remove redundant call to GluedNodes.back() [NFC] 2017-02-19 16:56:18 +00:00
ScheduleDAGSDNodes.h [Target] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-11 01:45:03 +00:00
ScheduleDAGVLIW.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
SDNodeDbgValue.h
SelectionDAG.cpp [SelectionDAG] set dereferenceable flag when expanding memcpy/memmove 2017-06-24 15:17:38 +00:00
SelectionDAGAddressAnalysis.cpp [DAG] Move BaseIndexOffset into separate Libarary. NFC. 2017-06-21 15:40:43 +00:00
SelectionDAGBuilder.cpp [Atomics] Rename and change prototype for atomic memcpy intrinsic 2017-06-16 14:43:59 +00:00
SelectionDAGBuilder.h Reland "[SelectionDAG] Enable target specific vector scalarization of calls and returns" 2017-06-09 14:37:08 +00:00
SelectionDAGDumper.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
SelectionDAGISel.cpp [SelectionDAG] Update Loop info after splitting critical edges. 2017-06-17 00:56:27 +00:00
SelectionDAGPrinter.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
SelectionDAGTargetInfo.cpp
StatepointLowering.cpp Reland "[SelectionDAG] Enable target specific vector scalarization of calls and returns" 2017-06-09 14:37:08 +00:00
StatepointLowering.h
TargetLowering.cpp [SelectionDAG] Use APInt::isSubsetOf. NFC 2017-06-16 23:19:14 +00:00