[PATCH] D11476: Marked call instruction in thunk function with tail attribute when applicable
Michael Kuperstein via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 6 04:58:04 PDT 2015
This revision was automatically updated to reflect the committed changes.
Closed by commit rL244207: Mark calls in thunk functions as tail-call optimization candidates (authored by mkuper).
Changed prior to commit:
http://reviews.llvm.org/D11476?vs=31341&id=31440#toc
Repository:
rL LLVM
http://reviews.llvm.org/D11476
Files:
cfe/trunk/lib/CodeGen/CGVTables.cpp
cfe/trunk/test/CodeGenCXX/microsoft-abi-structors.cpp
Index: cfe/trunk/test/CodeGenCXX/microsoft-abi-structors.cpp
===================================================================
--- cfe/trunk/test/CodeGenCXX/microsoft-abi-structors.cpp
+++ cfe/trunk/test/CodeGenCXX/microsoft-abi-structors.cpp
@@ -176,7 +176,7 @@
// Do an adjustment from B* to C*.
// DTORS2: getelementptr i8, i8* %{{.*}}, i32 -4
// DTORS2: bitcast i8* %{{.*}} to %"struct.dtor_in_second_nvbase::C"*
-// DTORS2: %[[CALL:.*]] = call x86_thiscallcc i8* @"\01??_GC at dtor_in_second_nvbase@@UAEPAXI at Z"
+// DTORS2: %[[CALL:.*]] = tail call x86_thiscallcc i8* @"\01??_GC at dtor_in_second_nvbase@@UAEPAXI at Z"
// DTORS2: ret i8* %[[CALL]]
}
Index: cfe/trunk/lib/CodeGen/CGVTables.cpp
===================================================================
--- cfe/trunk/lib/CodeGen/CGVTables.cpp
+++ cfe/trunk/lib/CodeGen/CGVTables.cpp
@@ -312,6 +312,8 @@
// Consider return adjustment if we have ThunkInfo.
if (Thunk && !Thunk->Return.isEmpty())
RV = PerformReturnAdjustment(*this, ResultType, RV, *Thunk);
+ else if (llvm::CallInst* Call = dyn_cast<llvm::CallInst>(CallOrInvoke))
+ Call->setTailCallKind(llvm::CallInst::TCK_Tail);
// Emit return.
if (!ResultType->isVoidType() && Slot.isNull())
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11476.31440.patch
Type: text/x-patch
Size: 1244 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150806/c2567bc5/attachment-0001.bin>
More information about the cfe-commits
mailing list