Displaying 20 results from an estimated 3000 matches similar to: "[LLVMdev] [WinEH] A hiccup for the Windows C++ exception handling"
2015 May 13
2
[LLVMdev] [WinEH] A hiccup for the Windows C++ exception handling
Have got anything started with the dispatchblock plan?
From: Reid Kleckner [mailto:rnk at google.com]
Sent: Wednesday, May 13, 2015 1:15 PM
To: Kaylor, Andrew
Cc: David Majnemer <david.majnemer at gmail.com> (david.majnemer at gmail.com); LLVM Developers Mailing List
Subject: Re: [WinEH] A hiccup for the Windows C++ exception handling
On Wed, May 13, 2015 at 11:03 AM, Kaylor, Andrew
2015 May 13
2
[LLVMdev] [WinEH] A hiccup for the Windows C++ exception handling
I made some progress this afternoon. I now have a set of changes in my local sandbox that allows clang to pass all of the tests in the suite I’ve been using to exercise this code.
How do you feel about working these changes into trunk to establish a working baseline, even knowing that parts of this are going to be redesigned?
-Andy
From: Reid Kleckner [mailto:rnk at google.com]
Sent:
2015 Apr 10
3
[LLVMdev] [WinEH] Cloning blocks that reference non-cloned PHI nodes
Hi Reid and David,
I just wanted to give you a heads up that I'm currently working on a problem where the WinEHPrepare outlining code stumbles and asserts while cloning code that references extracted landing pad values via PHI nodes that are in intermediate blocks that aren't being cloned. The test I'm looking at fails with an assertion claiming that llvm.eh.begincatch was called
2015 Apr 10
2
[LLVMdev] [WinEH] Cloning blocks that reference non-cloned PHI nodes
Just as an off-the-cuff idea that I haven’t thought through at all, what would you think of the possibility of replacing this:
%12 = call i32 @llvm.eh.typeid.for(i8* bitcast (%eh.CatchHandlerType* @llvm.eh.handlertype.H.0 to i8*))
%matches7 = icmp eq i32 %sel6, %12
with this:
%matches7 = call i32 @llvm.eh.cmp.selector(i32 %sel6, i8* bitcast (%eh.CatchHandlerType* @llvm.eh.handlertype.H.0
2015 May 19
0
[LLVMdev] WinEH work to be done (in progress and otherwise)
On Tue, May 19, 2015 at 2:16 PM, Kaylor, Andrew <andrew.kaylor at intel.com>
wrote:
> What follows is primarily addressed to Reid and David, but since it some
> of it is relevant to the Windows exception handling proposal under
> discussion, I thought I should copy the LLVMDev distribution list. Anyone
> interested should feel free to jump in and discuss.
>
>
>
>
2017 Jan 05
2
WinEH funclet coloring in computeLoopSafetyInfo
I've been looking at compilation time issues in the LICM pass, and it looks to me like colorEHFunclets() is probably being called a lot more often than it needs to be for functions that have Windows EH personality functions. For one thing, the funclet coloring is happening when computeLoopSafetyInfo() is called from LoopIdiomRecognize and LoopUnswitch but those passes don't use the
2015 May 19
3
[LLVMdev] WinEH work to be done (in progress and otherwise)
What follows is primarily addressed to Reid and David, but since it some of it is relevant to the Windows exception handling proposal under discussion, I thought I should copy the LLVMDev distribution list. Anyone interested should feel free to jump in and discuss.
My primary purpose here is to talk about what I'm working on so that anyone who is also working on the same things can let me
2015 May 28
2
[LLVMdev] WinEH work to be done (in progress and otherwise)
Hi,
Have any decisions been made on where to put executable WinEH tests? Wherever they go, would it be helpful if I were to add some C++EH and/or SEH tests pulled from MSVC's test suite, since compatibility is the goal here?
Thanks
-Joseph
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Reid Kleckner
Sent: Tuesday, May 19, 2015 5:56 PM
To: Kaylor,
2015 May 28
1
[LLVMdev] WinEH work to be done (in progress and otherwise)
I think we should make a new svn repository for these. test-suite is the
logical place, but it's way too bloated and has too much Unix specific
baggage. I'd really like to have something that just uses lit, can be
checked out into projects, and can be run as part of check-all, like the
compiler-rt execution test suite.
My suggestion is to call it 'execution-tests', and we can
2015 May 19
2
[LLVMdev] RFC: New EH representation for MSVC compatibility
I think adding transitions to cleanupblocks on the normal execution path
would be an optimization barrier. Most passes would see the cleanupblock
instruction and run the other way. It's definitely appealing from the
perspective of getting the smallest possible code, but I'm OK with having
no more than two copies of everything in the finally block.
I think with the addition of the
2015 May 18
2
[LLVMdev] RFC: New EH representation for MSVC compatibility
On Mon, May 18, 2015 at 12:03 PM, Joseph Tremoulet <jotrem at microsoft.com>
wrote:
> Hi,
>
>
>
> Thanks for sending this out. We're looking forward to seeing this come
> about, since we need funclet separation for LLILC as well (and I have
> cycles to spend on it, if that would be helpful).
>
>
>
> Some questions about the new proposal:
>
>
>
2015 May 19
2
[LLVMdev] RFC: New EH representation for MSVC compatibility
On Mon, May 18, 2015 at 8:40 PM, Joseph Tremoulet <jotrem at microsoft.com>
wrote:
> > I want to have separate normal and exceptional codepaths
>
> I assume you at least mean that's what you'll be doing in Clang's initial
> IR generation. Do you also mean to impose this as a restriction on other
> IR generators, and as a property that IR transformations must
2015 May 20
2
[LLVMdev] RFC: New EH representation for MSVC compatibility
This example is pretty compelling, but I still think I want to limit the
scope of this change to not include this feature. It's probably reasonable
to hold onto the idea as future work, though. In the meantime, frontends
can decide for themselves whether they want code size or stronger
optimization of cleanups by doing early outlining or not.
The only way we can hit the quadratic growth from
2015 Feb 03
2
[LLVMdev] RFC: Replace __cxa_begin_catch/__cxa_end_catch with intrinsics
Hi all,
I brought this up last week in an LLVMDev discussion of C++ EH support on Windows, but I thought I should float it again with a subject that would be less likely to be missed by people who don't have a direct interest in Windows support.
I would like to introduce two new intrinsics, llvm.eh.begincatch and llvm.eh.endcatch, to take the place of __cxa_begin_catch and __cxa_end_catch in
2015 Mar 04
2
[LLVMdev] RFC: Better alternative to llvm.frameallocate for use in Windows EH
On Wed, Mar 4, 2015 at 12:36 AM, John McCall <rjmccall at apple.com> wrote:
> > On Mar 3, 2015, at 2:25 PM, Reid Kleckner <rnk at google.com> wrote:
> >
> > I realized that WinEH preparation can probably be a lot less invasive
> than it is currently.
> >
> > Initially, when I was thinking about recovering the address of an object
> in a parent stack
2015 Feb 13
2
[LLVMdev] RFC: Native Windows C++ exception handling
Yes, it seems like WinEHPrepare should always be able to move landing pad code to somewhere appropriate. Even if there's some involved code to handle the cases that force #1, it's great that the complexity is contained in WinEHPrepare.
I'm still confused about the apparent lack of constraints after WinEHPrepare. Can we simply require/assume that WinEHPrepare be run after any passes
2015 Mar 03
2
[LLVMdev] Location of cppeh outlining tests
Hi Reid,
It occurs to me that we should probably move the cppeh outlining tests, since they aren't actually X86-specific. We should probably also add an ARM+Windows run line to them.
I'm torn between whether they should go in the test/CodeGen/CPP folder or in a new test/CodeGen/Win (or test/CodeGen/WinEH) folder.
Thoughts?
-Andy
-------------- next part --------------
An HTML
2015 May 15
8
[LLVMdev] RFC: New EH representation for MSVC compatibility
After a long tale of sorrow and woe, my colleagues and I stand here before
you defeated. The Itanium EH representation is not amenable to implementing
MSVC-compatible exceptions. We need a new representation that preserves
information about how try-catch blocks are nested.
WinEH background
-------------------------------
Skip this if you already know a lot about Windows exceptions. On Windows,
2005 Mar 28
0
Odd icecast hiccup problem with low-bandwidth cellular client
Here's a very odd question - I don't know if anybody can even begin to
answer.
I am attempting something very odd and geeky. I set up an icecast Win32
server streaming a 96kbps mp3 stream (using all the latest as of today
software, winamp, icecast2 and oddcast v3) so I can listen to it on my cell
phone while at work.
My phone does GPRS EDGE data at 131kbps-ish, just barely fast enough to
2015 Feb 03
4
[LLVMdev] RFC: Replace __cxa_begin_catch/__cxa_end_catch with intrinsics
> On Feb 2, 2015, at 4:53 PM, Reid Kleckner <rnk at google.com> wrote:
> This seems reasonable to me. Adding John explicitly…
Thanks, Reid.
Andy, I understand why Windows EH needs custom lowering here, and using intrinsics seems like a fine approach, but I don’t understand why you’re proposing changing the Itanium code generation pattern. There’s no reason for backends to have