This is an archive of the discontinued LLVM Phabricator instance.

[GlobalISel][CallLowering] Look through bitcasts from constant function pointers
ClosedPublic

Authored by aemerson on Feb 7 2020, 10:44 AM.

Details

Summary

Calls to ObjC's objc_msgSend function are done by bitcasting the function global to the required function type signature. This patch looks through this bitcast so that we can do a direct call with bl on arm64 instead of using an indirect blr.

Diff Detail

Event Timeline

aemerson created this revision.Feb 7 2020, 10:44 AM
This revision is now accepted and ready to land.Feb 7 2020, 11:18 AM
This revision was automatically updated to reflect the committed changes.