This is an archive of the discontinued LLVM Phabricator instance.

[ObjC] Override TailCallKind when lowering objc intrinsics
ClosedPublic

Authored by thegameg on Nov 7 2019, 6:10 PM.

Details

Summary

The tail-call-kind-ness is known by the ObjCARC analysis and can be enforced while lowering the intrinsics to calls.

This allows us to get the requested tail calls at -O0 without trying to preserve the attributes throughout passes that change code even at -O0 ,like the Always Inliner, where the ObjCOpt pass doesn't run.

Diff Detail

Event Timeline

thegameg created this revision.Nov 7 2019, 6:10 PM
Herald added a project: Restricted Project. · View Herald TranscriptNov 7 2019, 6:10 PM
thegameg updated this revision to Diff 228351.Nov 7 2019, 6:17 PM

Remove useless #include.

rjmccall accepted this revision.Nov 8 2019, 9:38 PM

LGTM

llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
62

"whether"

This revision is now accepted and ready to land.Nov 8 2019, 9:38 PM
This revision was automatically updated to reflect the committed changes.
thegameg marked an inline comment as done.