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

Teresa Johnson via llvm-commits llvm-commits at lists.llvm.org
Sat Oct 29 16:11:11 PDT 2016


tejohnson created this revision.
tejohnson added a reviewer: mehdi_amini.
tejohnson added a subscriber: llvm-commits.

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).


https://reviews.llvm.org/D26121

Files:
  include/llvm/Analysis/ModuleSummaryAnalysis.h
  include/llvm/IR/ModuleSummaryIndex.h
  lib/Analysis/ModuleSummaryAnalysis.cpp
  lib/Transforms/Utils/FunctionImportUtils.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26121.76319.patch
Type: text/x-patch
Size: 7575 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161029/0e9be616/attachment.bin>


More information about the llvm-commits mailing list