This is an archive of the discontinued LLVM Phabricator instance.

[ThinLTO] Use per-summary flag to prevent exporting locals used in inline asm
ClosedPublic

Authored by tejohnson on Oct 29 2016, 4:11 PM.

Details

Summary

Instead of using the workaround of suppressing the entire index for
modules that call inline asm that may reference locals, use the
NoRename flag on the summary for any locals in the llvm.used set, and
add a reference edge from any functions containing inline asm.

This avoids issues from having no summaries despite the module defining
global values, which was preventing more aggressive index-based
optimization. It will be followed by a subsequent patch to make a
similar fix for local references in module level asm (to fix PR30610).

Event Timeline

tejohnson updated this revision to Diff 76319.Oct 29 2016, 4:11 PM
tejohnson retitled this revision from to [ThinLTO] Use per-summary flag to prevent exporting locals used in inline asm.
tejohnson updated this object.
tejohnson added a reviewer: mehdi_amini.
tejohnson added a subscriber: llvm-commits.
mehdi_amini accepted this revision.Oct 29 2016, 6:08 PM
mehdi_amini edited edge metadata.

LGTM. Thanks.

This revision is now accepted and ready to land.Oct 29 2016, 6:08 PM
This revision was automatically updated to reflect the committed changes.