llvm-6502/lib/CodeGen/SelectionDAG
Adam Nemet 8fb9cfe141 [SelectionDAG] Force cycle detection in AssignTopologicalOrder before aborting
DAG cycle detection is only enabled with ENABLE_EXPENSIVE_CHECKS.  However we
can run it just before we would crash in order to provide more informative
diagnostics.

Now in addition to the "Overran sorted position" message we also get the Node
printed if a cycle was detected.

Tested by building several configs: Debug+Assert, Debug+Assert+Check (this is
ENABLE_EXPENSIVE_CHECKS), Release+Assert and Release.  Also tried that the
AssignTopologicalOrder assert produces the expected results.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209977 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-31 16:23:20 +00:00
..
CMakeLists.txt llvm/lib: [CMake] Add explicit dependency to intrinsics_gen. 2012-06-24 13:32:01 +00:00
DAGCombiner.cpp [X86] Add two combine rules to simplify dag nodes introduced during type legalization when promoting nodes with illegal vector type. 2014-05-30 23:17:53 +00:00
FastISel.cpp [Modules] Remove potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:02:50 +00:00
FunctionLoweringInfo.cpp [Modules] Remove potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:02:50 +00:00
InstrEmitter.cpp This reapplies r207235 with an additional bugfixes caught by the msan 2014-04-25 20:49:25 +00:00
InstrEmitter.h Revert "Give internal classes hidden visibility." 2013-09-11 18:05:11 +00:00
LegalizeDAG.cpp Fix wrong setcc result type when legalizing uaddo/usubo 2014-05-28 20:51:42 +00:00
LegalizeFloatTypes.cpp [Modules] Remove potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:02:50 +00:00
LegalizeIntegerTypes.cpp Legalizer: Make bswap promotion safe for vectors. 2014-05-20 09:42:31 +00:00
LegalizeTypes.cpp Target: remove old constructors for CallLoweringInfo 2014-05-17 21:50:17 +00:00
LegalizeTypes.h [Modules] Sink the DEBUG_TYPE macro out of LegalizeTypes.h and into the 2014-04-21 19:43:07 +00:00
LegalizeTypesGeneric.cpp Use makeArrayRef insted of calling ArrayRef<T> constructor directly. I introduced most of these recently. 2014-04-30 07:17:30 +00:00
LegalizeVectorOps.cpp SDAG: Legalize vector BSWAP into a shuffle if the shuffle is legal but the bswap not. 2014-05-19 13:12:38 +00:00
LegalizeVectorTypes.cpp Use makeArrayRef insted of calling ArrayRef<T> constructor directly. I introduced most of these recently. 2014-04-30 07:17:30 +00:00
LLVMBuild.txt
Makefile
ResourcePriorityQueue.cpp [Modules] Remove potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:02:50 +00:00
ScheduleDAGFast.cpp [Modules] Remove potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:02:50 +00:00
ScheduleDAGRRList.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. 2014-04-29 07:58:41 +00:00
ScheduleDAGSDNodes.cpp Convert SelectionDAG::MorphNodeTo to use ArrayRef. 2014-04-27 19:21:16 +00:00
ScheduleDAGSDNodes.h [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-16 04:21:27 +00:00
ScheduleDAGVLIW.cpp [Modules] Remove potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:02:50 +00:00
SDNodeDbgValue.h This reapplies r207235 with an additional bugfixes caught by the msan 2014-04-25 20:49:25 +00:00
SelectionDAG.cpp [SelectionDAG] Force cycle detection in AssignTopologicalOrder before aborting 2014-05-31 16:23:20 +00:00
SelectionDAGBuilder.cpp SelectionDAG: skip barriers for unordered atomic operations 2014-05-30 14:41:51 +00:00
SelectionDAGBuilder.h This reapplies r207235 with an additional bugfixes caught by the msan 2014-04-25 20:49:25 +00:00
SelectionDAGDumper.cpp Implememting named register intrinsics 2014-05-06 16:51:25 +00:00
SelectionDAGISel.cpp Rename ComputeMaskedBits to computeKnownBits. "Masked" has been 2014-05-14 21:14:37 +00:00
SelectionDAGPrinter.cpp [Modules] Make Support/Debug.h modular. This requires it to not change 2014-04-21 22:55:11 +00:00
TargetLowering.cpp Fix an assertion failure caused by v1i64 in DAGCombiner Shrink. 2014-05-29 09:19:07 +00:00
TargetSelectionDAGInfo.cpp Rename some member variables from TD to DL. 2014-02-18 15:33:12 +00:00