[PATCH] Fix for PR15086

Dimitry Andric dimitry at andric.com
Tue Nov 19 12:24:30 PST 2013


On 13 Nov 2013, at 16:31, Rafael EspĂ­ndola <rafael.espindola at gmail.com> wrote:
> I *think* this is a fine improvement, but please add
> 
> * A comment saying why jmp foo at PLT is not valid or when it would be valid.

Rafael, did you mean a comment in X86ISelLowering.cpp?  I think a jmp foo at PLT is only valid if the stack is setup so the callee can correctly pop it, if needed, and the return types are exactly the same?


> * A note in tailcallpic2.ll saying that it could be optimized to a
> direct call (no got, no plt). We don't implement ELF's interposition
> logic, but then pretend we do during codegen. This patch doesn't need
> to fix that, but should note that we could do better.

Ok, that is easily done.


On 13 Nov 2013, at 23:39, Nick Lewycky <nlewycky at google.com> wrote:

> Sorry, I forgot about this thread entirely. I generally don't approve non-trivial changes under lib/Target and lib/CodeGen, I'd rather somebody else with more assembly/object file/backend knowledge took a look.

Nick, do you feel this is now reviewed enough?  I think this is a pretty low-risk change in itself, it only disables an optimization that might lead to trouble, and only on x86/GOT-style platforms.  Improving some edge cases (like the direct call Rafael mentioned) can easily be done later, but I would really like to get this change in for the 3.4 release. :-)

-Dimitry

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 203 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131119/5a043d85/attachment.sig>


More information about the llvm-commits mailing list