[LLVMbugs] [Bug 24185] LICM incorrectly hoists load because Instruction::mayThrow does not correctly handle invokes
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Mon Jul 20 09:49:40 PDT 2015
https://llvm.org/bugs/show_bug.cgi?id=24185
Sanjoy Das <sanjoy at playingwithpointers.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
CC| |rnk at google.com
Resolution|INVALID |---
--- Comment #3 from Sanjoy Das <sanjoy at playingwithpointers.com> ---
After reading http://llvm.org/docs/ExceptionHandling.html, I think this bug
merits re-opening. The doc says:
* catch <type> @ExcType
* This clause means that the landingpad block should be entered if the
exception being thrown is of type @ExcType or a subtype of @ExcType. For C++,
@ExcType is a pointer to the std::type_info object (an RTTI object)
representing the C++ exception type.
* If @ExcType is null, any exception matches, so the landingpad should always
be entered. This is used for C++ catch-all blocks (“catch (...)”).
* When this clause is matched, the selector value will be equal to the value
returned by “@llvm.eh.typeid.for(i8* @ExcType)”. This will always be a positive
value.
The doc does not say that landing pads execute for every thrown exception. I
could not find anything that says landingpads execute for any exception in the
Itanium EH ABI either.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20150720/39e82c40/attachment.html>
More information about the llvm-bugs
mailing list