[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