[llvm-commits] [llvm] r137642 - /llvm/trunk/lib/Transforms/Utils/Local.cpp
John McCall
rjmccall at apple.com
Tue Aug 16 10:32:57 PDT 2011
On Aug 15, 2011, at 11:44 PM, Duncan Sands wrote:
>> The "landingpad" instruction will never be "trivially" dead.
>
> since mayHaveSideEffects() should return true for a landingpad instruction,
> this shouldn't be needed: isInstructionTriviallyDead should already return
> false.
I don't understand where you and Bill are going with this. landingpad
does not have side-effects, not does it read or write "visible" memory.
I'm aware that SjLj's lowering involves memory accesses, but it's to
unaliased, private memory.
I guess it's okay, if a bit weird and unfortunate, to describe landingpad
as having side-effects in order to get various optimizations to do the
right thing without custom modification. But if that's what you're doing,
you should document it that way. In the abstract machine, landingpad
has no side-effects and does not access memory.
John.
More information about the llvm-commits
mailing list