My commit message got jumbled (on my side). In the correct order this time:
On Jul 5, 2010, at 6:34 PM, John McCall wrote: > Reimplement how clang generates IR for exceptions. Instead of creating new > invoke destinations which sequentially chain to the previous destination, > push a more semantic representation of *why* we need the cleanup/catch/filter > behavior, then collect that information into a single landing pad upon > request. > > Also reorganizes how normal cleanups (i.e. cleanups triggered by > non-exceptional > control flow) are generated, since it's actually fairly closely tied in with > the former. Remove the need to track which cleanup scope a block is > associated > with. > > Document a lot of previously poorly-understood (by me, at least) behavior. > > The new framework implements the Horrible Hack (tm), which requires every > landing pad to have a catch-all so that inlining will work. Clang no longer > requires the Horrible Hack just to make exceptions flow correctly within > a function, however. The HH is an unfortunate requirement of LLVM's EH IR. > > Validated by nightly-test runs on x86 and x86-64 darwin, including after > self-host. Hopefully these results hold up on different platforms. > > I tried to keep the GNU ObjC runtime happy, but it's hard for me to test. _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
