llvm-project/llvm/lib/CodeGen/SelectionDAG
Sanjoy Das 38bfc22161 Add "first class" lowering for deopt operand bundles
Summary:
After this change, deopt operand bundles can be lowered directly by
SelectionDAG into STATEPOINT instructions (which are then lowered to a
call or sequence of nop, with an associated __llvm_stackmaps entry0.
This obviates the need to round-trip deoptimization state through
gc.statepoint via RewriteStatepointsForGC.

Reviewers: reames, atrick, majnemer, JosephTremoulet, pgavlin

Subscribers: sanjoy, mcrosier, majnemer, llvm-commits

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

llvm-svn: 264015
2016-03-22 00:59:13 +00:00
..
CMakeLists.txt Rename TargetSelectionDAGInfo into SelectionDAGTargetInfo and move it to CodeGen/ 2016-01-27 16:32:26 +00:00
DAGCombiner.cpp [DAGCombine] Catch the case where extract_vector_elt can cause an any_ext while processing AND SDNodes 2016-03-21 11:43:46 +00:00
FastISel.cpp Add "first class" lowering for deopt operand bundles 2016-03-22 00:59:13 +00:00
FunctionLoweringInfo.cpp [X86] Don't give catch objects a displacement of zero 2016-03-03 00:01:25 +00:00
InstrEmitter.cpp [X86] Part 1 to fix x86-64 fp128 calling convention. 2015-12-03 22:02:40 +00:00
InstrEmitter.h [SDAG] Give InstrEmitter hidden visibility 2015-07-01 14:55:10 +00:00
LLVMBuild.txt
LegalizeDAG.cpp Tweak some atomics functions in preparation for larger changes; NFC. 2016-03-16 22:12:04 +00:00
LegalizeFloatTypes.cpp Do not try to use i8 and i16 versions of FP_TO_U/SINT soft float library calls 2015-12-15 12:55:50 +00:00
LegalizeIntegerTypes.cpp Tweak some atomics functions in preparation for larger changes; NFC. 2016-03-16 22:12:04 +00:00
LegalizeTypes.cpp Revert "[mips] Promote the result of SETCC nodes to GPR width." 2016-03-01 20:25:43 +00:00
LegalizeTypes.h Temporarily Revert "[X86][SSE] Simplify vector LOAD + EXTEND on 2016-03-14 23:59:57 +00:00
LegalizeTypesGeneric.cpp [X86] Part 1 to fix x86-64 fp128 calling convention. 2015-12-03 22:02:40 +00:00
LegalizeVectorOps.cpp [X86][SSE] Reapplied: Improve vector ZERO_EXTEND by combining to ZERO_EXTEND_VECTOR_INREG 2016-03-10 20:40:26 +00:00
LegalizeVectorTypes.cpp Removed trailing whitespace 2016-03-16 18:37:44 +00:00
ResourcePriorityQueue.cpp Fix some comment typos. 2015-08-08 18:27:36 +00:00
SDNodeDbgValue.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +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 [DAG] use !isUndef() ; NFCI 2016-03-14 18:09:43 +00:00
SelectionDAGBuilder.cpp Add "first class" lowering for deopt operand bundles 2016-03-22 00:59:13 +00:00
SelectionDAGBuilder.h Add "first class" lowering for deopt operand bundles 2016-03-22 00:59:13 +00:00
SelectionDAGDumper.cpp Avoid overly large SmallPtrSet/SmallSet 2016-01-30 01:24:31 +00:00
SelectionDAGISel.cpp [CXX_FAST_TLS] fix issues with O0 on ARM, AArch64 and X86. 2016-03-18 23:38:49 +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 Add "first class" lowering for deopt operand bundles 2016-03-22 00:59:13 +00:00
StatepointLowering.h [StatepointLowering] Change AllocatedStackSlots to use SmallBitVector 2016-02-19 17:15:26 +00:00
TargetLowering.cpp [DAG] use !isUndef() ; NFCI 2016-03-14 18:09:43 +00:00