This is an archive of the discontinued LLVM Phabricator instance.

Fix dfsan handling of musttail calls.
ClosedPublic

Authored by browneee on Jun 2 2021, 11:03 AM.

Details

Summary

Without this change, a callsite like:

[[clang::musttail]] return func_call(x);

will cause an error like:

fatal error: error in backend: failed to perform tail call elimination
on a call site marked musttail

due to DFSan inserting instrumentation between the musttail call and
the return.

Diff Detail

Event Timeline

browneee created this revision.Jun 2 2021, 11:03 AM
browneee requested review of this revision.Jun 2 2021, 11:03 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 2 2021, 11:03 AM
stephan.yichao.zhao added inline comments.
llvm/test/Instrumentation/DataFlowSanitizer/musttailcall.ll
5

@gbalats: FYI for removing the non-fast-8-test from the new test.

9–13

Please remove the pattern check because this test is not related.

browneee updated this revision to Diff 349336.Jun 2 2021, 11:29 AM

Fix review comments.

browneee marked an inline comment as done.Jun 2 2021, 11:30 AM
This revision is now accepted and ready to land.Jun 2 2021, 11:33 AM
This revision was landed with ongoing or failed builds.Jun 2 2021, 11:39 AM
This revision was automatically updated to reflect the committed changes.