Go to file
Bill Wendling d1aa77c37d If we mark clean-ups as clean-ups, then it could break when inlining through an
'invoke' instruction. You will get a situation like this:

bb:
  %ehptr = eh.exception()
  %sel = eh.selector(%ehptr, @per, 0);

...

bb2:
  invoke _Unwind_Resume_or_Rethrow(%ehptr) %normal unwind to %lpad

lpad:
  ...

The unwinder will see the %sel call as a clean-up and, if it doesn't have a
catch further up the call stack, it will skip running it. But there *is* another
catch up the stack -- the catch for the %lpad. However, we can't see that. This
is fixed in code-gen, where we detect this situation, and convert the "clean-up"
selector call into a "catch-all" selector call. This gives us the correct
semantics.

llvm-svn: 99671
2010-03-26 23:41:30 +00:00
clang Fix comparison in isDiagnosticInFlight(). 2010-03-26 23:36:48 +00:00
compiler-rt Don't build an armv7 slice for now, it has the same stuff as on armv6. 2010-03-26 21:07:05 +00:00
llvm If we mark clean-ups as clean-ups, then it could break when inlining through an 2010-03-26 23:41:30 +00:00