llvm-project/llvm/lib/CodeGen/SelectionDAG
Nirav Dave 4fc8401abf Recommitting Craig Topper's patch now that r296476 has been recommitted.
When checking if chain node is foldable, make sure the intermediate nodes have a single use across all results not just the result that was used to reach the chain node.

This recovers a test case that was severely broken by r296476, my making sure we don't create ADD/ADC that loads and stores when there is also a flag dependency.

llvm-svn: 297698
2017-03-14 01:42:23 +00:00
..
CMakeLists.txt [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
DAGCombiner.cpp In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled. 2017-03-14 00:34:14 +00:00
FastISel.cpp [CodeGen] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-27 22:45:06 +00:00
FunctionLoweringInfo.cpp Simplify FunctionLoweringInfo.cpp with range for loops 2016-12-30 00:21:38 +00:00
InstrEmitter.cpp Removing a redundant assignment 2017-02-14 14:44:01 +00:00
InstrEmitter.h Pass DebugLoc and SDLoc by const ref. 2016-06-12 15:39:02 +00:00
LLVMBuild.txt
LegalizeDAG.cpp [DAGCombine] Use APInt::operator|(uint64_t) instead of creating a temporary APInt and calling APInt::Or. NFC 2017-03-05 01:08:16 +00:00
LegalizeFloatTypes.cpp [legalizetypes] Push fp16 -> fp32 extension node to worklist. 2017-02-01 13:01:33 +00:00
LegalizeIntegerTypes.cpp Remove unused CONVERT_RNDSAT intrinsics 2017-01-10 22:38:02 +00:00
LegalizeTypes.cpp [legalize-types] Remove stale entries from SoftenedFloats. 2017-03-04 12:00:35 +00:00
LegalizeTypes.h [SelectionDAG] Add scalarization support for ISD::*_EXTEND_VECTOR_INREG opcodes. 2017-02-20 11:55:58 +00:00
LegalizeTypesGeneric.cpp Do not assume that FP vector operands are never legalized by expanding 2016-10-26 19:51:35 +00:00
LegalizeVectorOps.cpp DAG: Do not scalarize fsub if fneg is legal 2017-02-15 22:02:42 +00:00
LegalizeVectorTypes.cpp [SelectionDAG] Fix vector splitting for *_EXTEND_VECTOR_INREG instructions 2017-03-05 15:52:18 +00:00
ResourcePriorityQueue.cpp Add iterator_range<regclass_iterator> to {Target,MC}RegisterInfo, NFC 2017-01-25 19:29:04 +00:00
SDNodeDbgValue.h Apply clang-tidy's misc-move-constructor-init throughout LLVM. 2016-05-27 14:27:24 +00:00
ScheduleDAGFast.cpp
ScheduleDAGRRList.cpp Cleanup dump() functions. 2017-01-28 02:02:38 +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
SelectionDAG.cpp Use setBits in SelectionDAG 2017-03-11 11:24:03 +00:00
SelectionDAGBuilder.cpp [DAG] fix typo in comment; NFC 2017-03-06 15:07:43 +00:00
SelectionDAGBuilder.h [DAG] improve documentation comments; NFC 2017-03-02 20:48:08 +00:00
SelectionDAGDumper.cpp Cleanup dump() functions. 2017-01-28 02:02:38 +00:00
SelectionDAGISel.cpp Recommitting Craig Topper's patch now that r296476 has been recommitted. 2017-03-14 01:42:23 +00:00
SelectionDAGPrinter.cpp
SelectionDAGTargetInfo.cpp Rename TargetSelectionDAGInfo into SelectionDAGTargetInfo and move it to CodeGen/ 2016-01-27 16:32:26 +00:00
StatepointLowering.cpp [Statepoints] Reuse stack slots more than once within a basic block 2016-12-13 01:21:15 +00:00
StatepointLowering.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
TargetLowering.cpp Use APInt::getOneBitSet instead of APInt::getBitsSet for sign bit mask creation 2017-03-03 16:35:57 +00:00