Hi David,
The pass is pretty tightly coupled with the rest of LLVM's exception
handling design and implementation by its nature. It's possible you'd be
able to identify a set of patches to back port, but I suspect that will prove to
be a pretty onerous task.
-Jim
On Mar 27, 2012, at 3:47 PM, David Dunkle <ddunkle at arxan.com> wrote:
> When testing with LLVM 3.0 I noticed a crash in LLC with a test case we are
running. After examining the source, I found that the crash coming from
SjLjEHPrepare.cpp, specifically from "ReplaceLandingPadVal". I can
explain about the crash if needed, but I will omit that for now.
>
> Testing with and LLC built from the top of trunk showed no LLC crash, and
the code in SjLhEHPrepare.cpp has been very much changed. The comment in
revision 142800 indicates that this is a cleanup, and not a change in
functionality, or at least that is how I interpreted it.
>
> We are not prepared to move the llvm 3.1 top of trunk, so I attempted to
back port SjLjEHPrepare.cpp's new implementation to llvm 3.0, strictly for
our own purposes, and not to submit to the LLVM code line. I found after some
testing that the crash in LLC is fixed. However, with this build I am seeing
some cases where exceptions are thrown and not properly caught.
>
> My question is whether SjLjEHPrepare.cpp is a stand alone pass that I can
hope to port alone into llvm 3.0, or whether there are other parts of the source
code that would have to be back ported along with it to have exception handling
working properly.
>
> I know this is a somewhat unorthodox approach, so thanks for bearing with
me in this matter.
>
> -David
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev