forked from OSchip/llvm-project
70ec64cb72
Summary: The AliasSummary previously contained the AliaseeGUID, which was only populated when reading the summary from bitcode. This patch changes it to instead hold the ValueInfo of the aliasee, and always populates it. This enables more efficient access to the ValueInfo (specifically in the recent patch r352438 which needed to perform an index hash table lookup using the aliasee GUID). As noted in the comments in AliasSummary, we no longer technically need to keep a pointer to the corresponding aliasee summary, since it could be obtained by walking the list of summaries on the ValueInfo looking for the summary in the same module. However, I am concerned that this would be inefficient when walking through the index during the thin link for various analyses. That can be reevaluated in the future. By always populating this new field, we can remove the guard and special handling for a 0 aliasee GUID when dumping the dot graph of the summary. An additional improvement in this patch is when reading the summaries from LLVM assembly we now set the AliaseeSummary field to the aliasee summary in that same module, which makes it consistent with the behavior when reading the summary from bitcode. Reviewers: pcc, mehdi_amini Subscribers: inglorion, eraman, steven_wu, dexonsmith, arphaman, llvm-commits Differential Revision: https://reviews.llvm.org/D57470 llvm-svn: 356268 |
||
---|---|---|
.. | ||
Inputs | ||
alias_import.ll | ||
alias_internal.ll | ||
alias_resolution.ll | ||
autoupgrade.ll | ||
cache-config.ll | ||
cache-icall.ll | ||
cache-import-lists.ll | ||
cache-typeid-resolutions.ll | ||
cache.ll | ||
callees-metadata.ll | ||
cfi-devirt.ll | ||
cfi-distributed.ll | ||
cfi-icall.ll | ||
cfi.ll | ||
crash_debuginfo.ll | ||
deadstrip.ll | ||
debuginfo-compositetype-import.ll | ||
debuginfo-cu-import.ll | ||
devirt-after-icp.ll | ||
diagnostic-handler-remarks-with-hotness.ll | ||
diagnostic-handler-remarks.ll | ||
dicompositetype-unique-alias.ll | ||
dicompositetype-unique.ll | ||
dicompositetype-unique2.ll | ||
distributed_import.ll | ||
distributed_indexes.ll | ||
dot-dumper-full-lto.ll | ||
dot-dumper.ll | ||
drop-debug-info.ll | ||
dsolocal_dllimport.ll | ||
emit_imports.ll | ||
empty-module.ll | ||
empty_module_with_cache.ll | ||
export.ll | ||
funcimport-debug.ll | ||
funcimport-tbaa.ll | ||
funcimport.ll | ||
funcimport2.ll | ||
function_entry_count.ll | ||
globals-import-blockaddr.ll | ||
globals-import-const-fold.ll | ||
globals-import.ll | ||
import_opaque_type.ll | ||
index-const-prop-O0.ll | ||
index-const-prop-alias.ll | ||
index-const-prop-cache.ll | ||
index-const-prop-comdat.ll | ||
index-const-prop-dead.ll | ||
index-const-prop-full-lto.ll | ||
index-const-prop-gvref.ll | ||
index-const-prop-ldst.ll | ||
index-const-prop-linkage.ll | ||
index-const-prop.ll | ||
index-const-prop2.ll | ||
internalize.ll | ||
lazyload_metadata.ll | ||
linkonce_aliasee_ref_import.ll | ||
linkonce_odr_unnamed_addr.ll | ||
linkonce_resolution_comdat.ll | ||
lit.local.cfg | ||
llvm.used.ll | ||
local_name_conflict.ll | ||
local_name_conflict_var.ll | ||
merge-triple.ll | ||
module_asm2.ll | ||
module_asm_glob.ll | ||
module_summary_graph_traits.ll | ||
newpm-basic.ll | ||
noinline.ll | ||
personality-local.ll | ||
personality.ll | ||
pr35472.ll | ||
prefix_replace.ll | ||
reference_non_importable.ll | ||
referenced_by_constant.ll | ||
save_objects.ll | ||
section.ll | ||
strong_non_prevailing.ll | ||
tli-nobuiltin.ll | ||
weak_resolution.ll | ||
weak_resolution_single.ll |