llvm-6502/lib/CodeGen/SelectionDAG
Bob Wilson 254c63e336 Avoid exponential blow-up when printing DAGs.
David Greene changed CannotYetSelect() to print the full DAG including multiple
copies of operands reached through different paths in the DAG.  Unfortunately
this blows up exponentially in some cases.  The depth limit of 100 is way too
high to prevent this -- I'm seeing a message string of 150MB with a depth of
only 40 in one particularly bad case, even though the DAG has less than 200
nodes.  Part of the problem is that the printing code is following chain
operands, so if you fail to select an operation with a chain, the printer will
follow all the chained operations back to the entry node.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126899 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-02 23:38:06 +00:00
..
CMakeLists.txt
DAGCombiner.cpp Can't introduce floating-point immediate constants after legalization. 2011-03-02 19:36:30 +00:00
FastISel.cpp If dbg_declare() or dbg_value() is not lowered by isel then emit DEBUG message instead of creating DBG_VALUE for undefined value in reg0. 2010-12-06 22:39:26 +00:00
FunctionLoweringInfo.cpp Set NumSignBits to 1 if KnownZero/KnownOne are being zero extended. In theory it 2011-02-25 01:11:01 +00:00
InstrEmitter.cpp Simplify a bunch of isVirtualRegister() and isPhysicalRegister() logic. 2011-01-10 02:58:51 +00:00
InstrEmitter.h
LegalizeDAG.cpp Allow targets to specify a the type of the RHS of a shift parameterized on the type of the LHS. 2011-02-25 21:41:48 +00:00
LegalizeFloatTypes.cpp Allow targets to specify a the type of the RHS of a shift parameterized on the type of the LHS. 2011-02-25 21:41:48 +00:00
LegalizeIntegerTypes.cpp Use the correct shift amount type. 2011-02-28 21:10:10 +00:00
LegalizeTypes.cpp Move ExpandAtomic into the integer expansion routines - it's only used there. 2011-01-11 00:36:08 +00:00
LegalizeTypes.h fix PR9210 by implementing some type legalization logic for 2011-02-14 06:30:45 +00:00
LegalizeTypesGeneric.cpp Renaming ISD::BIT_CONVERT to ISD::BITCAST to better reflect the LLVM IR concept. 2010-11-23 03:31:01 +00:00
LegalizeVectorOps.cpp Renaming ISD::BIT_CONVERT to ISD::BITCAST to better reflect the LLVM IR concept. 2010-11-23 03:31:01 +00:00
LegalizeVectorTypes.cpp Add a few missed unary cases when legalizing vector results. Put some cases 2011-03-01 15:15:43 +00:00
Makefile
ScheduleDAGFast.cpp flags -> glue for selectiondag 2010-12-23 17:24:32 +00:00
ScheduleDAGList.cpp Various bits of framework needed for precise machine-level selection 2010-12-24 05:03:26 +00:00
ScheduleDAGRRList.cpp Introducing a new method of tracking register pressure. We can't 2011-02-04 03:18:17 +00:00
ScheduleDAGSDNodes.cpp Introducing a new method of tracking register pressure. We can't 2011-02-04 03:18:17 +00:00
ScheduleDAGSDNodes.h Introducing a new method of tracking register pressure. We can't 2011-02-04 03:18:17 +00:00
SDNodeDbgValue.h Do not lose debug info of an inlined function argument even if the argument is only used through GEPs. 2011-02-18 22:43:42 +00:00
SDNodeOrdering.h
SelectionDAG.cpp Avoid exponential blow-up when printing DAGs. 2011-03-02 23:38:06 +00:00
SelectionDAGBuilder.cpp Allow targets to specify a the type of the RHS of a shift parameterized on the type of the LHS. 2011-02-25 21:41:48 +00:00
SelectionDAGBuilder.h Revert r124611 - "Keep track of incoming argument's location while emitting LiveIns." 2011-02-21 23:21:26 +00:00
SelectionDAGISel.cpp trailing whitespace. 2011-03-01 01:39:05 +00:00
SelectionDAGPrinter.cpp Pass the graph to the DOTGraphTraits.getEdgeAttributes(). 2011-02-27 04:11:03 +00:00
TargetLowering.cpp Allow targets to specify a the type of the RHS of a shift parameterized on the type of the LHS. 2011-02-25 21:41:48 +00:00
TargetSelectionDAGInfo.cpp