llvm-6502/lib/CodeGen
Evan Cheng 3c82cab9aa GetRegForReload() now keeps track which registers have been considered and rejected during its quest to find a suitable reload register. This avoids an infinite loop in case like this:
t1 := op t2, t3
  t2 <- assigned r0 for use by the reload but ended up reuse r1
  t3 <- assigned r1 for use by the reload but ended up reuse r0
  t1 <- desires r1
        sees r1 is taken by t2, tries t2's reload register r0
        sees r0 is taken by t3, tries t3's reload register r1
        sees r1 is taken by t2, tries t2's reload register r0 ...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33382 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-19 22:40:14 +00:00
..
SelectionDAG For PR1043: 2007-01-19 21:13:56 +00:00
AsmPrinter.cpp add new JumpTableSpecialLabelPrefix hook to asmprinter for jumptable emission. 2007-01-18 01:12:56 +00:00
BranchFolding.cpp Eliminate static ctors from Statistics 2006-12-19 22:41:21 +00:00
DwarfWriter.cpp Need to handle static declarations properly. 2007-01-08 22:15:18 +00:00
ELFWriter.cpp Have the OutputBuffer take the is64Bit and isLittleEndian booleans. 2007-01-18 01:23:11 +00:00
IntrinsicLowering.cpp rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger. 2007-01-15 02:27:26 +00:00
LiveInterval.cpp Added an automatic cast to "std::ostream*" etc. from OStream. We then can 2006-12-17 05:15:13 +00:00
LiveIntervalAnalysis.cpp Eliminate static ctors from Statistics 2006-12-19 22:41:21 +00:00
LiveVariables.cpp Removed more <iostream> includes 2006-12-07 20:28:15 +00:00
LLVMTargetMachine.cpp Removed more <iostream> includes 2006-12-07 20:28:15 +00:00
MachineBasicBlock.cpp The best unbreakage yet, addressing Bill's concerns. 2006-12-16 02:15:42 +00:00
MachineDebugInfo.cpp Implement review feedback for the ConstantBool->ConstantInt merge. Chris 2007-01-12 04:24:46 +00:00
MachineFunction.cpp Debug dump error. 2006-12-22 02:04:05 +00:00
MachineInstr.cpp The best unbreakage yet, addressing Bill's concerns. 2006-12-16 02:15:42 +00:00
MachinePassRegistry.cpp Final polish on machine pass registries. 2006-08-02 12:30:23 +00:00
MachOWriter.cpp Have the OutputBuffer take the is64Bit and isLittleEndian booleans. 2007-01-18 01:23:11 +00:00
Makefile this will work better 2006-11-03 19:15:55 +00:00
Passes.cpp *** empty log message *** 2006-11-16 20:11:33 +00:00
PHIElimination.cpp Eliminate static ctors from Statistics 2006-12-19 22:41:21 +00:00
PhysRegTracker.h Improved PhysRegTracker interface. RegAlloc lazily allocates the register tracker using a std::auto_ptr 2004-02-23 06:10:13 +00:00
PrologEpilogInserter.cpp - Fixing naming inconsistency: calleesave -> calleesaved. 2007-01-02 21:31:15 +00:00
RegAllocLinearScan.cpp Eliminate static ctors from Statistics 2006-12-19 22:41:21 +00:00
RegAllocLocal.cpp Eliminate static ctors from Statistics 2006-12-19 22:41:21 +00:00
RegAllocSimple.cpp Eliminate static ctors from Statistics 2006-12-19 22:41:21 +00:00
TwoAddressInstructionPass.cpp Eliminate static ctors from Statistics 2006-12-19 22:41:21 +00:00
UnreachableBlockElim.cpp eliminate RegisterOpt. It does the same thing as RegisterPass. 2006-08-27 22:42:52 +00:00
VirtRegMap.cpp GetRegForReload() now keeps track which registers have been considered and rejected during its quest to find a suitable reload register. This avoids an infinite loop in case like this: 2007-01-19 22:40:14 +00:00
VirtRegMap.h Added an automatic cast to "std::ostream*" etc. from OStream. We then can 2006-12-17 05:15:13 +00:00