[llvm-commits] [dragonegg] r95387 - /dragonegg/trunk/llvm-backend.cpp
Duncan Sands
baldrick at free.fr
Fri Feb 5 07:08:06 PST 2010
Author: baldrick
Date: Fri Feb 5 09:08:05 2010
New Revision: 95387
URL: http://llvm.org/viewvc/llvm-project?rev=95387&view=rev
Log:
Yes, marking this "tailcall" is correct even if there are 'byval' parameters.
Modified:
dragonegg/trunk/llvm-backend.cpp
Modified: dragonegg/trunk/llvm-backend.cpp
URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/llvm-backend.cpp?rev=95387&r1=95386&r2=95387&view=diff
==============================================================================
--- dragonegg/trunk/llvm-backend.cpp (original)
+++ dragonegg/trunk/llvm-backend.cpp Fri Feb 5 09:08:05 2010
@@ -1653,9 +1653,7 @@
Arguments.begin(), Arguments.end());
Call->setCallingConv(Thunk->getCallingConv());
Call->setAttributes(Thunk->getAttributes());
- // No use is made of the stack - this is a tail call.
- // FIXME: what if there are byval arguments? Also, could clear off any
- // 'byval' attributes on the call since they are simply being passed thru.
+ // All parameters except 'this' are passed on unchanged - this is a tail call.
Call->setTailCall();
if (Thunk->getReturnType()->isVoidTy())
More information about the llvm-commits
mailing list