Questions about PowerPC frame lowering

Hal Finkel hfinkel at anl.gov
Tue Jun 11 15:36:17 PDT 2013


Mark,

As far as I know, no one is actively working on fixing this problem. As you point out, the current behavior happens to be safe on Darwin and SVR4 PPC64, but not for PPC32 (or embedded code). I think that there are a number of us who would be happy to help you with fixing this.

 -Hal

----- Original Message -----
> 
> 
> 
> 
> 
> Regarding PowerPC frame lowering:
> 
> 
> IIs anyone working on making PPC frame lowering compatible with the
> SVR4 ABI, with regard to not accessing R1 via negative offsets?
> (Ref. PPCFrameLowering.cpp, FIXME: On PPC32 SVR4, FPOffset is
> negative and access to negative offsets of R1 is not allowed.) I'm
> using LLVM on an EABI system (similar to SVR4), and my debugging
> tool isn't liking the fact that it's seeing accesses beyond the
> stack pointer into unallocated stack space (the "red zone" in the
> Darwin ABI). I also need the code generated by LLVM to be safe on an
> OS-free embedded system that handles interrupts on the same stack as
> the "user" code, and on such a system it's never safe to access
> beyond the stack pointer... you have to advance the stack pointer
> before making any spills (i.e. there's no red zone).
> 
> 
> 
> I'm interested in fixing that FIXME, but I have a few questions about
> frame lowering in general & how it fits into the bigger picture
> before I get started making any changes. I know it's possible to
> write frame claiming assembly that's common + compatible (with no
> loss of efficiency -- It's all in the order in which you do
> essentially the same operations) between both Darwin and SVR4 (and
> EABI), I just don't know how to rewrite PPCFrameLowering.cpp to make
> it emit such compatible code and would like some help doing so.
> 
> 
> Thanks,
> -Mark Minich
> mminich87 -at- yahoo.com
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 



More information about the llvm-commits mailing list