[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2007-05-31 Thread Lauro Ramos Venancio
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.87 - 1.88 --- Log message: Fix PR1424: http://llvm.org/PR1424 . When a function has FP, the register scavenging spill slot offset already was calculated. --- Diffs of the changes: (+1 -1) PrologEpilogInserter.cpp

Re: [llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2007-05-31 Thread Evan Cheng
Hi Lauro, This is the wrong fix. Even if disabling the use of RS when FP is used is correct, that's up to the target to not instantiate RS when it detects that. PEI shouldn't do this check. Please revert this fix. I'm going to reopen the bug because we need a proper fix. Evan On May 31,

Re: [llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2007-05-31 Thread Lauro Ramos Venancio
I'm not disabling the use of RS when FP is used. About 30 lines before my change, there is this code: if (RS RegInfo-hasFP(Fn)) { int SFI = RS-getScavengingFrameIndex(); if (SFI = 0) { ... The bug was: the PrologEpilogInserter has two chunks of code to define the ScavengingFrameIndex

Re: [llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2007-05-31 Thread Evan Cheng
On May 31, 2007, at 3:34 PM, Lauro Ramos Venancio wrote: I'm not disabling the use of RS when FP is used. About 30 lines before my change, there is this code: if (RS RegInfo-hasFP(Fn)) { int SFI = RS-getScavengingFrameIndex(); if (SFI = 0) { ... The bug was: the

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2007-04-30 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.82 - 1.83 --- Log message: Under normal circumstances, when a frame pointer is not required, we reserve argument space for call sites in the function immediately on entry to the current function. This eliminates the

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp RegAllocLinearScan.cpp RegAllocLocal.cpp RegAllocSimple.cpp VirtRegMap.cpp

2007-04-25 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.81 - 1.82 RegAllocLinearScan.cpp updated: 1.144 - 1.145 RegAllocLocal.cpp updated: 1.101 - 1.102 RegAllocSimple.cpp updated: 1.82 - 1.83 VirtRegMap.cpp updated: 1.109 - 1.110 --- Log message: Match

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2007-04-24 Thread Chris Lattner
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.79 - 1.80 --- Log message: support 4G stack objects --- Diffs of the changes: (+2 -2) PrologEpilogInserter.cpp |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index:

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2007-04-24 Thread Chris Lattner
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.80 - 1.81 --- Log message: support for 4G stack frames --- Diffs of the changes: (+1 -1) PrologEpilogInserter.cpp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index:

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2007-04-08 Thread Chris Lattner
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.77 - 1.78 --- Log message: Fix CodeGen/Generic/2007-04-08-MultipleFrameIndices.ll and PR1308: http://llvm.org/PR1308 : some instructions can have multiple frame indices in them. If this happens, rewrite all of them.

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2007-04-08 Thread Chris Lattner
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.78 - 1.79 --- Log message: Fix a bug introduced with my previous patch, where it didn't correctly handle instructions which replace themselves when FI's are rewritten (common on ppc). This fixes

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2007-03-06 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.76 - 1.77 --- Log message: If target decides to create an emergency spill slot, make sure it's closest to SP or frame pointer. --- Diffs of the changes: (+56 -7) PrologEpilogInserter.cpp | 63

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2007-03-01 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.75 - 1.76 --- Log message: Delete register scavenger when done with it. --- Diffs of the changes: (+2 -0) PrologEpilogInserter.cpp |2 ++ 1 files changed, 2 insertions(+) Index:

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2007-02-28 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.74 - 1.75 --- Log message: Interface clean up. --- Diffs of the changes: (+1 -1) PrologEpilogInserter.cpp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/lib/CodeGen/PrologEpilogInserter.cpp

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2007-02-27 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.70 - 1.71 --- Log message: Let MRegisterInfo now owns RegScavenger. --- Diffs of the changes: (+3 -3) PrologEpilogInserter.cpp |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) Index:

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2007-02-27 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.71 - 1.72 --- Log message: MRegisterInfo disowns RegScavenger. It's immutable. --- Diffs of the changes: (+2 -2) PrologEpilogInserter.cpp |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index:

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2007-02-27 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.72 - 1.73 --- Log message: Make requiresRegisterScavenging determination on a per MachineFunction basis. --- Diffs of the changes: (+1 -1) PrologEpilogInserter.cpp |2 +- 1 files changed, 1 insertion(+), 1

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2007-02-27 Thread Chris Lattner
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.73 - 1.74 --- Log message: add a newline at end of file --- Diffs of the changes: (+1 -0) PrologEpilogInserter.cpp |1 + 1 files changed, 1 insertion(+) Index: llvm/lib/CodeGen/PrologEpilogInserter.cpp diff

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp RegisterScavenging.cpp

2007-02-26 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.69 - 1.70 RegisterScavenging.cpp updated: 1.3 - 1.4 --- Log message: forward() should not increment internal iterator. Its client may insert instruction between now and next forward() call. --- Diffs of the changes:

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2007-02-22 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.68 - 1.69 --- Log message: First potential client of register scavenger. --- Diffs of the changes: (+13 -4) PrologEpilogInserter.cpp | 17 + 1 files changed, 13 insertions(+), 4 deletions(-)

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2007-01-25 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.66 - 1.67 --- Log message: Added a MRegisterInfo hook that tells PEI the target is responsible for rounding the stack frame to a multiple of stack alignment. --- Diffs of the changes: (+3 -2)

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2007-01-23 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.65 - 1.66 --- Log message: PEI is now responsible for adding MaxCallFrameSize to frame size and align the stack. Each target can further adjust the frame size if necessary. --- Diffs of the changes: (+16 -1)

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2007-01-20 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.64 - 1.65 --- Log message: Remove an unused variable. --- Diffs of the changes: (+0 -1) PrologEpilogInserter.cpp |1 - 1 files changed, 1 deletion(-) Index: llvm/lib/CodeGen/PrologEpilogInserter.cpp diff -u

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2007-01-19 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.63 - 1.64 --- Log message: We not align the final stack slot but instead let the target do so in emitPrologue(). Each target can make adjustments to the stack frame and re-align the stack as it deem appropriate. Do

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2007-01-02 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.62 - 1.63 --- Log message: - Fixing naming inconsistency: calleesave - calleesaved. - Make use of spillCalleeSavedRegisters() and restoreCalleeSavedRegisters(). --- Diffs of the changes: (+30 -24)

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2006-12-06 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.61 - 1.62 --- Log message: Initialize {Min|Max}CSFrameIndex properly. --- Diffs of the changes: (+4 -2) PrologEpilogInserter.cpp |6 -- 1 files changed, 4 insertions(+), 2 deletions(-) Index:

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2006-09-28 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.60 - 1.61 --- Log message: TargetRegisterClass specifies the desired spill alignment. However, it cannot be honored if stack alignment is smaller. --- Diffs of the changes: (+6 -1) PrologEpilogInserter.cpp |7

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2006-09-27 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.59 - 1.60 --- Log message: PEI now place callee save spills closest to the address pointed to by the incoming stack. This allows X86 backend to use push / pop in epilogue / prologue. --- Diffs of the changes: (+67

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2006-09-26 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.58 - 1.59 --- Log message: Rename function. It's determining which callee-save registers to save. --- Diffs of the changes: (+7 -7) PrologEpilogInserter.cpp | 14 +++--- 1 files changed, 7 insertions(+), 7

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2006-08-25 Thread Jim Laskey
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.56 - 1.57 --- Log message: Tidy up. --- Diffs of the changes: (+4 -2) PrologEpilogInserter.cpp |6 -- 1 files changed, 4 insertions(+), 2 deletions(-) Index: llvm/lib/CodeGen/PrologEpilogInserter.cpp diff

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2006-05-12 Thread Chris Lattner
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.53 - 1.54 --- Log message: Remove dead variable --- Diffs of the changes: (+0 -1) PrologEpilogInserter.cpp |1 - 1 files changed, 1 deletion(-) Index: llvm/lib/CodeGen/PrologEpilogInserter.cpp diff -u

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2006-04-03 Thread Chris Lattner
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.51 - 1.52 --- Log message: The stack alignment is now computed dynamically, just verify it is correct. --- Diffs of the changes: (+2 -1) PrologEpilogInserter.cpp |3 ++- 1 files changed, 2 insertions(+), 1

[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

2005-11-06 Thread Nate Begeman
Changes in directory llvm/lib/CodeGen: PrologEpilogInserter.cpp updated: 1.49 - 1.50 --- Log message: Add the necessary support to the ISel to allow targets to codegen the new alignment information appropriately. Includes code for PowerPC to support fixed-size allocas with alignment larger