[LLVMdev] Shrink Wrapping - RFC and initial implementation
Evan Cheng
evan.cheng at apple.com
Sat Feb 28 19:07:05 PST 2009
On Feb 26, 2009, at 5:52 PM, John Mosby wrote:
> Hi Anton,
>
> Thanks for your questions, that's what I'm looking for.
>
> On Thu, Feb 26, 2009 at 5:33 PM, Anton Korobeynikov <anton at korobeynikov.info
> > wrote:
> Hello, John
>
> > My limited implementation uses a workaround that adjusts the
> > generation of prologue code and the frame indices used by
> > the target eliminateFrameIndex() when necessary. I am looking at
> > several approaches, but I would like input from anyone who
> > has an opinion.
> I haven't looked into the patch deep enough yet, but I have at least
> 2 questions:
> 1. How do all the stuff play with dynamic stack realignment?
> 2. It seems, that dwarf information about callee-saved registers is
> invalidated by your patch.
> This means, that you won't have sane stack traces in the debugger.
> Unwinding won't also work.
> Have you tried to compile some C++ code, which uses EH?
>
> Integrating shrink wrapping with dynamic stack realignment,
> debugging info, EH (and more)
> requires a more general (or more complete) way of treating callee-
> saved registers, and I did
> not attempt to tackle this in the patch. I meant to show a starting
> point for this work and get
> some questions coming in (working so far :-)).
I think for step 1 PEI should not attempt shrink wrapping when dynamic
stack realignment or EH is required. Debug info is a different story.
We are in the process of eliminating debug specific instructions (i.e.
rely completely on DebugLoc on machine instructions). Once that's
done, it should *just work*.
Evan
>
> I am not far along enough with the two approaches I'm looking at to
> give more detail. I will
> have more worked out in a few days.
>
> I'm still coming up to speed in the code generator areas, so thanks
> for your patience!
>
> Again, thanks for your questions,
> John
>
>
>
> --
> With best regards, Anton Korobeynikov.
>
> Faculty of Mathematics & Mechanics, Saint Petersburg State University.
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090228/3668215c/attachment.html>
More information about the llvm-dev
mailing list