[PATCH] D22900: Revert r244207 - Mark calls in thunk functions as tail-call optimization
Reid Kleckner via cfe-commits
cfe-commits at lists.llvm.org
Mon Aug 1 12:55:56 PDT 2016
rnk added a comment.
So, if clang were to use a temporary alloca for the byval parameter, then yes, I agree marking it as a tail call would be incorrect. However, clang doesn't use an alloca, it forwards the byval pointer parameter directly to the callee:
define i32 @_ZThn4_N1C4SeekE6_LARGE(%class.C* nocapture readnone %this, %union._LARGE* byval nocapture readonly align 4 %L) unnamed_addr #0 align 2 {
entry:
%call = tail call i32 @_ZN1C4SeekE6_LARGE(%class.C* undef, %union._LARGE* byval nonnull align 4 %L)
ret i32 %call
}
Maybe the test case is over-reduced, or the problematic IR was produced by an older version of clang?
https://reviews.llvm.org/D22900
More information about the cfe-commits
mailing list