llvm-6502/lib/CodeGen/SelectionDAG
Evan Cheng 33bf38ad88 Fix a bug in RegsForValue::getCopyToRegs() that causes cyclical scheduling units. If it's creating multiple CopyToReg nodes that are "flagged" together, it should not create a TokenFactor for it's chain outputs:
c1, f1 = CopyToReg                                                                                                                                                                                             
c2, f2 = CopyToReg                                                                                                                                                                                             
c3     = TokenFactor c1, c2                                                                                                                                                                                    
 ...                                                                                                                                                                                                                      
       = user c3, ..., f2

Now that the two CopyToReg's and the user are "flagged" together. They effectively forms a single scheduling unit. The TokenFactor is now both an operand and a successor of the Flagged nodes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50376 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-28 22:07:13 +00:00
..
CallingConvLower.cpp Introduce a new node for holding call argument 2008-03-21 09:14:45 +00:00
DAGCombiner.cpp Evan pointed out that folding sext to zext may not be correct 2008-04-28 18:47:17 +00:00
LegalizeDAG.cpp Pull the code to perform an INSERT_VECTOR_ELT in memory out into its own 2008-04-25 18:07:40 +00:00
LegalizeTypes.cpp Provide an explicit list of operands to MakeLibcall, 2008-04-18 20:25:14 +00:00
LegalizeTypes.h Implement a bit more softfloat support in 2008-04-18 20:56:03 +00:00
LegalizeTypesExpand.cpp Provide an explicit list of operands to MakeLibcall, 2008-04-18 20:25:14 +00:00
LegalizeTypesFloatToInt.cpp Implement a bit more softfloat support in 2008-04-18 20:56:03 +00:00
LegalizeTypesPromote.cpp Add some more FIXME's for indexed loads and stores. 2008-04-18 20:27:12 +00:00
LegalizeTypesScalarize.cpp Add some more FIXME's for indexed loads and stores. 2008-04-18 20:27:12 +00:00
LegalizeTypesSplit.cpp Add some more FIXME's for indexed loads and stores. 2008-04-18 20:27:12 +00:00
Makefile remove attribution from lib Makefiles. 2007-12-29 20:09:26 +00:00
ScheduleDAG.cpp Switch to using Simplified ConstantFP::get API. 2008-04-20 00:41:09 +00:00
ScheduleDAGList.cpp Treat EntryToken nodes as "passive" so that they aren't added to the 2008-04-15 01:22:18 +00:00
ScheduleDAGRRList.cpp Fix the new scheduler assertion checks to work when 2008-04-15 22:40:14 +00:00
SelectionDAG.cpp Fix the SVOffset values for loads and stores produced by 2008-04-28 17:15:20 +00:00
SelectionDAGISel.cpp Fix a bug in RegsForValue::getCopyToRegs() that causes cyclical scheduling units. If it's creating multiple CopyToReg nodes that are "flagged" together, it should not create a TokenFactor for it's chain outputs: 2008-04-28 22:07:13 +00:00
SelectionDAGPrinter.cpp Fix an out-of-bounds access in -view-sunit-dags in the case of an 2008-04-21 20:07:30 +00:00
TargetLowering.cpp typo 2008-04-27 01:49:46 +00:00