llvm-project/llvm/lib/CodeGen/SelectionDAG
Matt Arsenault c31a9d0671 SelectionDAG: Select min/max when both are used
Allow two users of the condition if the other user
is also a min/max select. i.e.

%c = icmp slt i32 %x, %y
%min = select i1 %c, i32 %x, i32 %y
%max = select i1 %c, i32 %y, i32 %x

llvm-svn: 269699
2016-05-16 20:58:23 +00:00
..
CMakeLists.txt Rename TargetSelectionDAGInfo into SelectionDAGTargetInfo and move it to CodeGen/ 2016-01-27 16:32:26 +00:00
DAGCombiner.cpp Fix unused variable warning. 2016-05-07 20:19:59 +00:00
FastISel.cpp Swift Calling Convention: swifterror target-independent change. 2016-04-05 18:13:16 +00:00
FunctionLoweringInfo.cpp Swift Calling Convention: swifterror target-independent change. 2016-04-05 18:13:16 +00:00
InstrEmitter.cpp Sink DI metadata usage out of MachineInstr.h and MachineInstrBuilder.h 2016-04-14 18:29:59 +00:00
InstrEmitter.h Minor code cleanup. NFC. 2016-03-26 06:04:55 +00:00
LLVMBuild.txt
LegalizeDAG.cpp Remove extra whitespace. NFC. 2016-05-16 20:03:02 +00:00
LegalizeFloatTypes.cpp [CodeGen] Round [SU]INT_TO_FP result when promoting from f16. 2016-05-06 00:58:00 +00:00
LegalizeIntegerTypes.cpp Remove unsafe AssertZext after promoting result of FP_TO_FP16 2016-03-24 14:06:03 +00:00
LegalizeTypes.cpp Unify XDEBUG and EXPENSIVE_CHECKS (into the latter), and add an option to the cmake build to enable them. 2016-04-29 15:22:48 +00:00
LegalizeTypes.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
LegalizeTypesGeneric.cpp [X86] Part 1 to fix x86-64 fp128 calling convention. 2015-12-03 22:02:40 +00:00
LegalizeVectorOps.cpp [SelectionDAG] Attempt to split BITREVERSE vector legalization into BSWAP and BITREVERSE stages 2016-05-12 13:09:49 +00:00
LegalizeVectorTypes.cpp fix typos in comments; NFC 2016-05-11 17:00:07 +00:00
ResourcePriorityQueue.cpp Fix some comment typos. 2015-08-08 18:27:36 +00:00
SDNodeDbgValue.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
ScheduleDAGFast.cpp Replace uint16_t with the MCPhysReg typedef in many places. A lot of physical register arrays already use this typedef. 2015-12-05 07:13:35 +00:00
ScheduleDAGRRList.cpp rangify; NFCI 2016-02-03 22:44:14 +00:00
ScheduleDAGSDNodes.cpp Avoid overly large SmallPtrSet/SmallSet 2016-01-30 01:24:31 +00:00
ScheduleDAGSDNodes.h [SelectionDAG] Remove dead code. NFC. 2015-10-15 17:54:06 +00:00
ScheduleDAGVLIW.cpp Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
SelectionDAG.cpp SDAG: Have SelectNodeTo replace uses if it CSE's instead of morphing a node 2016-05-11 21:00:33 +00:00
SelectionDAGBuilder.cpp SelectionDAG: Select min/max when both are used 2016-05-16 20:58:23 +00:00
SelectionDAGBuilder.h [SSP, 2/2] Create llvm.stackguard() intrinsic and lower it to LOAD_STACK_GUARD 2016-04-19 19:40:37 +00:00
SelectionDAGDumper.cpp AMDGPU: Implement canonicalize 2016-04-14 01:42:16 +00:00
SelectionDAGISel.cpp SDAG: Have SelectNodeTo replace uses if it CSE's instead of morphing a node 2016-05-11 21:00:33 +00:00
SelectionDAGPrinter.cpp Make the SelectionDAG graph printer use SDNode::PersistentId labels. 2015-10-27 23:09:03 +00:00
SelectionDAGTargetInfo.cpp Rename TargetSelectionDAGInfo into SelectionDAGTargetInfo and move it to CodeGen/ 2016-01-27 16:32:26 +00:00
StatepointLowering.cpp Introduce an GCRelocateInst class [NFC] 2016-04-12 18:05:10 +00:00
StatepointLowering.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
TargetLowering.cpp [TargetLowering] make helper function for SetCC + and optimizations (NFC) 2016-05-09 16:42:50 +00:00