llvm-project/llvm/lib/CodeGen/SelectionDAG
Eli Friedman 23ae13d51f [ScheduleDAG] When a node is cloned, add an edge between the nodes.
InstrEmitter's virtual register handling assumes that clones are emitted
after the cloned node.  Make sure this assumption actually holds.

Fixes a "Node emitted out of order - early" assertion on the testcase.

This is probably a very rare case to actually hit in practice; even
without the explicit edge, the scheduler will usually end up scheduling
the nodes in the expected order due to other constraints.

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

llvm-svn: 373782
2019-10-04 19:51:40 +00:00
..
CMakeLists.txt
DAGCombiner.cpp [DAGCombiner] add operation legality checks before creating shift ops (PR43542) 2019-10-03 21:34:04 +00:00
FastISel.cpp [FastISel] Fix insertion of unconditional branches during FastISel 2019-09-20 13:22:59 +00:00
FunctionLoweringInfo.cpp Finish moving TargetRegisterInfo::isVirtualRegister() and friends to llvm::Register as started by r367614. NFC 2019-08-01 23:27:28 +00:00
InstrEmitter.cpp [TargetRegisterInfo] Remove SVT argument from getCommonSubClass. 2019-09-13 05:24:37 +00:00
InstrEmitter.h [SelectionDAG] Enhance the simplification of `copyto` from `implicit-def`. 2019-05-27 18:26:29 +00:00
LLVMBuild.txt Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LegalizeDAG.cpp [TargetLowering] Make allowsMemoryAccess methode virtual. 2019-09-26 00:16:01 +00:00
LegalizeFloatTypes.cpp [LegalizeTypes] Remove code for softening a float type to itself. 2019-09-12 05:55:14 +00:00
LegalizeIntegerTypes.cpp [Intrinsic] Add the llvm.umul.fix.sat intrinsic 2019-09-07 12:16:14 +00:00
LegalizeTypes.cpp [LegalizeTypes] Remove code for softening a float type to itself. 2019-09-12 05:55:14 +00:00
LegalizeTypes.h [LegalizeTypes] Remove code for softening a float type to itself. 2019-09-12 05:55:14 +00:00
LegalizeTypesGeneric.cpp [LegalizeTypes] Check for already split condition before calilng SplitVecRes_SETCC in SplitRes_SELECT. 2019-10-02 22:34:49 +00:00
LegalizeVectorOps.cpp [SelectionDAG] Remove ISD::FP_ROUND_INREG 2019-09-09 17:54:44 +00:00
LegalizeVectorTypes.cpp [SDAG] Update generic code to conservatively check for isAtomic in addition to isVolatile 2019-09-12 22:49:17 +00:00
ResourcePriorityQueue.cpp Implementation of asm-goto support in LLVM 2019-02-08 20:48:56 +00:00
SDNodeDbgValue.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ScheduleDAGFast.cpp Finish moving TargetRegisterInfo::isVirtualRegister() and friends to llvm::Register as started by r367614. NFC 2019-08-01 23:27:28 +00:00
ScheduleDAGRRList.cpp [ScheduleDAG] When a node is cloned, add an edge between the nodes. 2019-10-04 19:51:40 +00:00
ScheduleDAGSDNodes.cpp Apply llvm-prefer-register-over-unsigned from clang-tidy to LLVM 2019-08-15 19:22:08 +00:00
ScheduleDAGSDNodes.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ScheduleDAGVLIW.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SelectionDAG.cpp Support MemoryLocation::UnknownSize in TargetLowering::IntrinsicInfo 2019-09-30 14:44:24 +00:00
SelectionDAGAddressAnalysis.cpp [DAGCombiner] Unify Lifetime and memory Op aliasing. 2019-03-27 14:14:46 +00:00
SelectionDAGBuilder.cpp Reapply r373431 "Switch lowering: omit range check for bit tests when default is unreachable (PR43129)" 2019-10-02 14:35:06 +00:00
SelectionDAGBuilder.h [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
SelectionDAGDumper.cpp [SelectionDAG] Remove ISD::FP_ROUND_INREG 2019-09-09 17:54:44 +00:00
SelectionDAGISel.cpp TLI: Remove DAG argument from getRegisterByName 2019-10-01 01:44:39 +00:00
SelectionDAGPrinter.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SelectionDAGTargetInfo.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
StatepointLowering.cpp [Statepoints] Fix overalignment of loads in no-realign-stack functions 2019-08-02 20:17:37 +00:00
StatepointLowering.h [FastISel] Fix crash for gc.relocate lowring 2019-04-05 05:41:08 +00:00
TargetLowering.cpp [DAG][X86] Convert isNegatibleForFree/GetNegatedExpression to a target hook (PR42863) 2019-10-01 15:32:04 +00:00