This is an archive of the discontinued LLVM Phabricator instance.

[coroutine] Salvage dbg.values in the original function as well
ClosedPublic

Authored by fdeazeve on Apr 19 2023, 2:10 PM.

Details

Summary

D97673 implemented salvaging o dbg.value inside coroutine funclets, but
left the original function untouched. Before, only dbg.addr and dbg.decl
would get salvaged.

D121324 implemented salvaging of dbg.addr and dbg.decl in the original
function as well, but not of dbg.values.

This patch unifies salvaging in the original function and related
funclets, so that all intrinsics are salvaged in all functions. This is
particularly useful for ABIs where the original function is also
rewritten to receive the frame pointer as an argument.

Diff Detail

Event Timeline

fdeazeve created this revision.Apr 19 2023, 2:10 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 19 2023, 2:10 PM
fdeazeve requested review of this revision.Apr 19 2023, 2:10 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 19 2023, 2:10 PM
aprantl accepted this revision.Apr 19 2023, 3:17 PM
This revision is now accepted and ready to land.Apr 19 2023, 3:17 PM
fdeazeve updated this revision to Diff 515690.Apr 21 2023, 5:28 AM

Rebased, the tests were converted to opaque ptrs in the meantime, so it took some non-trivial updating.

This revision was landed with ongoing or failed builds.Apr 21 2023, 6:31 AM
This revision was automatically updated to reflect the committed changes.