<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/docs/ExceptionHandling.html, branch release_22</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/docs/ExceptionHandling.html?h=release_22</id>
<link rel='self' href='https://git.amat.us/llvm/atom/docs/ExceptionHandling.html?h=release_22'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2007-09-22T10:17:08Z</updated>
<entry>
<title>Validation fixes</title>
<updated>2007-09-22T10:17:08Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2007-09-22T10:17:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=d40bc4ad433b45445bbdf2d187f853d67cb9eb9a'/>
<id>urn:sha1:d40bc4ad433b45445bbdf2d187f853d67cb9eb9a</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42232 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Split eh.select / eh.typeid.for intrinsics into i32/i64 versions. This is needed, because they just "mark" register </title>
<updated>2007-09-07T11:39:35Z</updated>
<author>
<name>Anton Korobeynikov</name>
<email>asl@math.spbu.ru</email>
</author>
<published>2007-09-07T11:39:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=8806c7b1f5317a9679a5779ffc08c552f2091bce'/>
<id>urn:sha1:8806c7b1f5317a9679a5779ffc08c552f2091bce</id>
<content type='text'>
liveins and we let frontend solve type issue, not lowering code :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41763 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>There is an impedance matching problem between LLVM and</title>
<updated>2007-08-27T15:47:50Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2007-08-27T15:47:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=6590b0457c5e28a7336ae31de194953d8127217a'/>
<id>urn:sha1:6590b0457c5e28a7336ae31de194953d8127217a</id>
<content type='text'>
gcc exception handling: if an exception unwinds through
an invoke, then execution must branch to the invoke's
unwind target.  We previously tried to enforce this by
appending a cleanup action to every selector, however
this does not always work correctly due to an optimization
in the C++ unwinding runtime: if only cleanups would be
run while unwinding an exception, then the program just
terminates without actually executing the cleanups, as
invoke semantics would require.  I was hoping this
wouldn't be a problem, but in fact it turns out to be the
cause of all the remaining failures in the LLVM testsuite
(these also fail with -enable-correct-eh-support, so turning
on -enable-eh didn't make things worse!).  Instead we need
to append a full-blown catch-all to the end of each
selector.  The correct way of doing this depends on the
personality function, i.e. it is language dependent, so
can only be done by gcc.  Thus this patch which generalizes
the eh.selector intrinsic so that it can handle all possible
kinds of action table entries (before it didn't accomodate
cleanups): now 0 indicates a cleanup, and filters have to be
specified using the number of type infos plus one rather than
the number of type infos.  Related gcc patches will cause
Ada to pass a cleanup (0) to force the selector to always
fire, while C++ will use a C++ catch-all (null).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41484 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Extend eh.selector to support both catches and filters.</title>
<updated>2007-07-04T20:52:51Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2007-07-04T20:52:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=cf26d7ccac1ad052b750edec36b13bc9ea8f70d7'/>
<id>urn:sha1:cf26d7ccac1ad052b750edec36b13bc9ea8f70d7</id>
<content type='text'>
Drop the eh.filter intrinsic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37875 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix typos.</title>
<updated>2007-04-16T13:02:27Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2007-04-16T13:02:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=fb0a64a172fa405f7d0bcdd11226b99b433b8522'/>
<id>urn:sha1:fb0a64a172fa405f7d0bcdd11226b99b433b8522</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36124 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Correct typo.</title>
<updated>2007-04-14T12:30:27Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2007-04-14T12:30:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=b0a1cbff0d9893631fb0a9ad5c6f4d0766645199'/>
<id>urn:sha1:b0a1cbff0d9893631fb0a9ad5c6f4d0766645199</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35989 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Various hopefully correct easy fixes.</title>
<updated>2007-03-30T12:22:09Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2007-03-30T12:22:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=8036ca47e27c22055cf8d708358b2e48b2a63e3b'/>
<id>urn:sha1:8036ca47e27c22055cf8d708358b2e48b2a63e3b</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35506 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>First draft of exception handling doc.</title>
<updated>2007-03-14T19:29:42Z</updated>
<author>
<name>Jim Laskey</name>
<email>jlaskey@mac.com</email>
</author>
<published>2007-03-14T19:29:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=d0d39b685b9a13022896fcc273b29e135b16199b'/>
<id>urn:sha1:d0d39b685b9a13022896fcc273b29e135b16199b</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35100 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
