This is an archive of the discontinued LLVM Phabricator instance.

[CodeGen] Add funclet token to ARC marker
ClosedPublic

Authored by smeenai on Mar 19 2018, 11:57 AM.

Details

Summary

The inline assembly generated for the ARC autorelease elision marker
must have a funclet token if it's emitted inside a funclet, otherwise
the inline assembly (and all subsequent code in the funclet) will be
marked unreachable. r324689 fixed this issue for regular inline assembly
blocks.

Note that clang only emits the marker at -O0, so this only fixes that
case. The optimizations case (where the marker is emitted by the
backend) will be fixed in a separate change.

Diff Detail

Repository
rL LLVM

Event Timeline

smeenai created this revision.Mar 19 2018, 11:57 AM
rjmccall accepted this revision.Mar 19 2018, 12:15 PM

LGTM.

We should really just switch the reclaim to be marked with a bundle in the first place, but that's not a reasonable thing to ask you to do.

This revision is now accepted and ready to land.Mar 19 2018, 12:15 PM
This revision was automatically updated to reflect the committed changes.
This revision was automatically updated to reflect the committed changes.