llvm/lib/CodeGen
Chris Lattner 22480c4350 Fix a bug in the local spiller, where we could take code like this:
store r12 -> [ss#2]
  R3 = load [ss#1]
  use R3
  R3 = load [ss#2]
  R4 = load [ss#1]

and turn it into this code:

  store R12 -> [ss#2]
  R3 = load [ss#1]
  use R3
  R3 = R12
  R4 = R3    <- oops!

The problem was that promoting R3 = load[ss#2] to a copy missed the fact that
the instruction invalidated R3 at that point.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23638 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-05 18:30:19 +00:00
..
SelectionDAG implement visitBR_CC so that PowerPC/inverted-bool-compares.ll passes 2005-10-05 06:47:48 +00:00
AsmPrinter.cpp Culling out use of unions for converting FP to bits and vice versa. 2005-08-17 19:34:49 +00:00
BranchFolding.cpp Remove trailing whitespace 2005-04-21 22:36:52 +00:00
ELFWriter.cpp Fix VC++ constant truncation warning. 2005-08-19 16:19:21 +00:00
IntrinsicLowering.cpp Eliminate all remaining tabs and trailing spaces. 2005-07-27 06:12:32 +00:00
LiveInterval.cpp Expose the LiveInterval interfaces as public headers. 2005-09-21 04:19:09 +00:00
LiveIntervalAnalysis.cpp Expose the LiveInterval interfaces as public headers. 2005-09-21 04:19:09 +00:00
LiveVariables.cpp Implement LiveVariables.h change 2005-08-24 00:09:33 +00:00
MachineBasicBlock.cpp Remove trailing whitespace 2005-04-21 22:36:52 +00:00
MachineCodeEmitter.cpp new is not a valid default anywhere, so make this pure virtual 2005-07-28 18:13:59 +00:00
MachineFunction.cpp If a function has live ins/outs, print them 2005-08-31 22:34:59 +00:00
MachineInstr.cpp Remove trailing whitespace 2005-04-21 22:36:52 +00:00
Makefile Change Library Names Not To Conflict With Others When Installed 2004-10-27 23:18:45 +00:00
Passes.cpp Remove trailing whitespace 2005-04-21 22:36:52 +00:00
PHIElimination.cpp clean up this code a bit, no functionality change 2005-10-03 07:22:07 +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 now that we have a reg class to spill with, get this info from the regclass 2005-09-30 17:19:22 +00:00
RegAllocIterativeScan.cpp Expose the LiveInterval interfaces as public headers. 2005-09-21 04:19:09 +00:00
RegAllocLinearScan.cpp Expose the LiveInterval interfaces as public headers. 2005-09-21 04:19:09 +00:00
RegAllocLocal.cpp Change this code ot pass register classes into the stack slot spiller/reloader 2005-09-30 01:29:00 +00:00
RegAllocSimple.cpp Change this code ot pass register classes into the stack slot spiller/reloader 2005-09-30 01:29:00 +00:00
TwoAddressInstructionPass.cpp Remove trailing whitespace 2005-04-21 22:36:52 +00:00
UnreachableBlockElim.cpp Remove trailing whitespace 2005-04-21 22:36:52 +00:00
VirtRegMap.cpp Fix a bug in the local spiller, where we could take code like this: 2005-10-05 18:30:19 +00:00
VirtRegMap.h Remove trailing whitespace 2005-04-21 22:36:52 +00:00