This is an archive of the discontinued LLVM Phabricator instance.

Move tail call disabling code to target independent code
ClosedPublic

Authored by rnk on Jan 2 2020, 4:39 PM.

Details

Summary

When the "disable-tail-calls" attribute was added, checks were added for
it in various backends. Now this code has proliferated, and it is
something the target is responsible for checking. Move that
responsibility back to the ISels (fast, global, and SD).

There's no major functionality change, except for targets that never
implemented this check.

This LLVM attribute was originally added in
d9699bc7bdf0362173fcd256690f61a4d47429c2 (2015).

Diff Detail

Event Timeline

rnk created this revision.Jan 2 2020, 4:39 PM

Unit tests: pass. 61175 tests passed, 0 failed and 729 were skipped.

clang-tidy: fail. Please fix clang-tidy findings.

clang-format: pass.

Build artifacts: diff.json, clang-tidy.txt, clang-format.patch, CMakeCache.txt, console-log.txt, test-results.xml

MaskRay accepted this revision.Jan 2 2020, 6:08 PM
MaskRay added a subscriber: sfertile.

Very nice clean-up!

@sfertile I think ppc "disable-tail-calls"="true" is not tested in D39777.

This revision is now accepted and ready to land.Jan 2 2020, 6:08 PM
This revision was automatically updated to reflect the committed changes.