llvm-project/llvm/lib/CodeGen/SelectionDAG
Sanjay Patel 8dd99dce6c [DAG] vector div/rem with any zero element in divisor is undef
This is the backend counterpart to:
https://reviews.llvm.org/rL297390
https://reviews.llvm.org/rL297409
and follow-up to:
https://reviews.llvm.org/rL297384

It surprised me that we need to duplicate the check in FoldConstantArithmetic and FoldConstantVectorArithmetic, 
but one or the other doesn't catch all of the test cases. There is an existing code comment about merging those 
someday.

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

llvm-svn: 297762
2017-03-14 18:06:28 +00:00
..
CMakeLists.txt [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
DAGCombiner.cpp [DAG] vector div/rem with any zero element in divisor is undef 2017-03-14 18:06:28 +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 [DAG] vector div/rem with any zero element in divisor is undef 2017-03-14 18:06:28 +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 [ARM] Move SMULW[B|T] isel to DAG Combine 2017-03-14 09:13:22 +00:00