[llvm-commits] [llvm] r58890 - /llvm/trunk/lib/Target/CellSPU/SPURegisterInfo.cpp

Daniel Dunbar daniel at zuster.org
Fri Nov 7 21:26:50 PST 2008


This is causing test/CodeGen/CellSPU/call_indirect.ll to fail. See
http://google1.osuosl.org:8011/builders/llvm-x86_64-linux/builds/197/steps/test/logs/stdio

 - Daniel

On Fri, Nov 7, 2008 at 9:16 PM, Scott Michel <scottm at aero.org> wrote:

> Author: pingbak
> Date: Fri Nov  7 23:16:20 2008
> New Revision: 58890
>
> URL: http://llvm.org/viewvc/llvm-project?rev=58890&view=rev
> Log:
> CellSPU: Fix prologue/epilogue emission when function contains calls but
> theframe size is 0; the prologue and epilogue should be emitted in this
> case.
>
> Modified:
>    llvm/trunk/lib/Target/CellSPU/SPURegisterInfo.cpp
>
> Modified: llvm/trunk/lib/Target/CellSPU/SPURegisterInfo.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CellSPU/SPURegisterInfo.cpp?rev=58890&r1=58889&r2=58890&view=diff
>
>
> ==============================================================================
> --- llvm/trunk/lib/Target/CellSPU/SPURegisterInfo.cpp (original)
> +++ llvm/trunk/lib/Target/CellSPU/SPURegisterInfo.cpp Fri Nov  7 23:16:20
> 2008
> @@ -438,7 +438,7 @@
>   assert((FrameSize & 0xf) == 0
>          && "SPURegisterInfo::emitPrologue: FrameSize not aligned");
>
> -  if (FrameSize > 0) {
> +  if (FrameSize > 0 || MFI->hasCalls()) {
>     FrameSize = -(FrameSize + SPUFrameInfo::minStackSize());
>     if (hasDebugInfo) {
>       // Mark effective beginning of when frame pointer becomes valid.
> @@ -534,7 +534,7 @@
>          "Can only insert epilog into returning blocks");
>   assert((FrameSize & 0xf) == 0
>          && "SPURegisterInfo::emitEpilogue: FrameSize not aligned");
> -  if (FrameSize > 0) {
> +  if (FrameSize > 0 || MFI->hasCalls()) {
>     FrameSize = FrameSize + SPUFrameInfo::minStackSize();
>     if (isS10Constant(FrameSize + LinkSlotOffset)) {
>       // Reload $lr, adjust $sp by required amount
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20081107/103596a4/attachment.html>


More information about the llvm-commits mailing list