Displaying 5 results from an estimated 5 matches for "msvcehprepare".
2015 Jan 29
4
[LLVMdev] RFC: Native Windows C++ exception handling
...ded the first i32 argument in an llvm.eh.actions entry to be. I’ve been using it as a place to store the eh state that I’m associating with the action, but that’s kind of circular because I’m using the information in these tables to calculate that value. I’ll be able to do this calculation in the MSVCEHPrepare pass before these instructions are added, so I can put it there (it’s nice for readability), but the later pass that generates the tables (assuming we leave that in a later pass) will need information not represented in the action table (at least as I’ve been using it). I’m not 100% sure that this...
2015 Jan 29
0
[LLVMdev] RFC: Native Windows C++ exception handling
...ers more than 'catch int', has different eh_state
range, we need to do step 3.a when we reach 'invoke void @g()'
try {
try { f(); }
catch (int) { g(); }
} catch (float) { h(); }
Is that the idea?
> So, I think it makes sense to compute the unwind and catch tables during
the MSVCEHPrepare pass, but I wasn’t sure how best to preserve the
information once it was computed. Is it reasonable to stick this in
metadata?
I guess we can do the EH state assignment in the preparation pass, so long
as it's resilient to basic block reordering. A good source program to play
with would be:...
2015 Feb 11
2
[LLVMdev] RFC: Native Windows C++ exception handling
...rgument in an
> llvm.eh.actions entry to be. I’ve been using it as a place to store the eh
> state that I’m associating with the action, but that’s kind of circular
> because I’m using the information in these tables to calculate that value.
> I’ll be able to do this calculation in the MSVCEHPrepare pass before these
> instructions are added, so I can put it there (it’s nice for readability),
> but the later pass that generates the tables (assuming we leave that in a
> later pass) will need information not represented in the action table (at
> least as I’ve been using it). I’m not...
2015 Jan 27
2
[LLVMdev] RFC: Native Windows C++ exception handling
Thanks, Reid. These are good points.
So I guess that does take us back to something more like my original proposal.
I like your suggestion of having some kind of “eh.actions” intrinsic to represent the outlining rather than the extension to landingpad that I had proposed. I was just working on something like that in conjunction with my second alternative idea.
What I’d really like is to have
2015 Feb 11
2
[LLVMdev] RFC: Native Windows C++ exception handling
...ded the first i32 argument in an llvm.eh.actions entry to be. I’ve been using it as a place to store the eh state that I’m associating with the action, but that’s kind of circular because I’m using the information in these tables to calculate that value. I’ll be able to do this calculation in the MSVCEHPrepare pass before these instructions are added, so I can put it there (it’s nice for readability), but the later pass that generates the tables (assuming we leave that in a later pass) will need information not represented in the action table (at least as I’ve been using it). I’m not 100% sure that this...