llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-lld Author: None (yonghong-song) <details> <summary>Changes</summary> There is a conflict with existing code. See https://github.com/llvm/llvm-project/pull/178587 Revert and resolve the conflict and then will submit later. --- Patch is 130.18 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/183782.diff 44 Files Affected: - (modified) clang/test/CodeGen/distributed-thin-lto/cfi-devirt.ll (+1-1) - (modified) clang/test/CodeGen/distributed-thin-lto/cfi.ll (+1-1) - (modified) clang/test/CodeGen/thinlto-funcattr-prop.ll (+2-2) - (modified) lld/test/ELF/lto/comdat-nodeduplicate.ll (+4-4) - (modified) llvm/include/llvm/AsmParser/LLToken.h (-1) - (modified) llvm/include/llvm/IR/ModuleSummaryIndex.h (+3-18) - (modified) llvm/include/llvm/IR/ModuleSummaryIndexYAML.h (+5-9) - (modified) llvm/include/llvm/LTO/LTO.h (+1-2) - (modified) llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h (+2-4) - (modified) llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h (+1-2) - (modified) llvm/lib/Analysis/ModuleSummaryAnalysis.cpp (+4-6) - (modified) llvm/lib/AsmParser/LLLexer.cpp (-1) - (modified) llvm/lib/AsmParser/LLParser.cpp (+3-9) - (modified) llvm/lib/Bitcode/Reader/BitcodeReader.cpp (+1-3) - (modified) llvm/lib/Bitcode/Writer/BitcodeWriter.cpp (-2) - (modified) llvm/lib/IR/AsmWriter.cpp (-1) - (modified) llvm/lib/IR/ModuleSummaryIndex.cpp (-2) - (modified) llvm/lib/LTO/LTO.cpp (+7-52) - (modified) llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp (+7-22) - (modified) llvm/lib/Transforms/Utils/FunctionImportUtils.cpp (+5-19) - (modified) llvm/test/Assembler/thinlto-memprof-summary.ll (+12-12) - (modified) llvm/test/Assembler/thinlto-multiple-summaries-for-guid.ll (+2-2) - (modified) llvm/test/Assembler/thinlto-summary-visibility.ll (+3-3) - (modified) llvm/test/Assembler/thinlto-summary.ll (+30-30) - (modified) llvm/test/Assembler/thinlto-vtable-summary.ll (+2-2) - (modified) llvm/test/Bitcode/thinlto-alias.ll (+5-5) - (modified) llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll (+9-9) - (modified) llvm/test/Bitcode/thinlto-function-summary-callgraph-relbf.ll (+1-1) - (modified) llvm/test/Bitcode/thinlto-function-summary-refgraph.ll (+7-7) - (modified) llvm/test/Bitcode/thinlto-index-disassembled-by-llvm-dis.ll (+1-1) - (modified) llvm/test/Bitcode/thinlto-type-tests.ll (+6-6) - (modified) llvm/test/Bitcode/thinlto-type-vcalls.ll (+12-12) - (removed) llvm/test/ThinLTO/X86/Inputs/reduce-promotion-same-file-local-name.ll (-20) - (modified) llvm/test/ThinLTO/X86/funcattrs-prop-maythrow.ll (+3-3) - (modified) llvm/test/ThinLTO/X86/funcimport_alwaysinline.ll (+1-1) - (modified) llvm/test/ThinLTO/X86/import_callee_declaration.ll (+4-4) - (modified) llvm/test/ThinLTO/X86/load-store-caching.ll (+2-2) - (removed) llvm/test/ThinLTO/X86/reduce-promotion-devirt.ll (-99) - (removed) llvm/test/ThinLTO/X86/reduce-promotion-same-file-local-name.ll (-46) - (removed) llvm/test/ThinLTO/X86/reduce-promotion-same-local-name.ll (-69) - (removed) llvm/test/ThinLTO/X86/reduce-promotion.ll (-56) - (modified) llvm/test/Transforms/LowerTypeTests/import-unsat.ll (-1) - (modified) llvm/test/Transforms/WholeProgramDevirt/Inputs/import-indir.yaml (-1) - (modified) llvm/test/Transforms/WholeProgramDevirt/import-indir.ll (-2) ``````````diff diff --git a/clang/test/CodeGen/distributed-thin-lto/cfi-devirt.ll b/clang/test/CodeGen/distributed-thin-lto/cfi-devirt.ll index 14938cbaa465b..a5792eee8abfb 100644 --- a/clang/test/CodeGen/distributed-thin-lto/cfi-devirt.ll +++ b/clang/test/CodeGen/distributed-thin-lto/cfi-devirt.ll @@ -34,7 +34,7 @@ ; Round trip it through llvm-as ; RUN: llvm-dis %t.o.thinlto.bc -o - | llvm-as -o - | llvm-dis -o - | FileCheck %s --check-prefix=CHECK-DIS ; CHECK-DIS: ^0 = module: (path: "{{.*}}cfi-devirt.ll.tmp.o", hash: ({{.*}}, {{.*}}, {{.*}}, {{.*}}, {{.*}})) -; CHECK-DIS: ^1 = gv: (guid: 8346051122425466633, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 1, dsoLocal: 0, canAutoHide: 0, importType: definition, noRenameOnPromotion: 0), insts: 18, funcFlags: (readNone: 0, readOnly: 0, noRecurse: 0, returnDoesNotAlias: 0, noInline: 0, alwaysInline: 0, noUnwind: 0, mayThrow: 0, hasUnknownCall: 1, mustBeUnreachable: 0), typeIdInfo: (typeTests: (^2), typeCheckedLoadVCalls: (vFuncId: (^2, offset: 8), vFuncId: (^2, offset: 0)))))) +; CHECK-DIS: ^1 = gv: (guid: 8346051122425466633, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 1, dsoLocal: 0, canAutoHide: 0, importType: definition), insts: 18, funcFlags: (readNone: 0, readOnly: 0, noRecurse: 0, returnDoesNotAlias: 0, noInline: 0, alwaysInline: 0, noUnwind: 0, mayThrow: 0, hasUnknownCall: 1, mustBeUnreachable: 0), typeIdInfo: (typeTests: (^2), typeCheckedLoadVCalls: (vFuncId: (^2, offset: 8), vFuncId: (^2, offset: 0)))))) ; CHECK-DIS: ^2 = typeid: (name: "_ZTS1A", summary: (typeTestRes: (kind: allOnes, sizeM1BitWidth: 7), wpdResolutions: ((offset: 0, wpdRes: (kind: branchFunnel)), (offset: 8, wpdRes: (kind: singleImpl, singleImplName: "_ZN1A1nEi"))))) ; guid = 7004155349499253778 ; RUN: %clang_cc1 -triple x86_64-grtev4-linux-gnu \ diff --git a/clang/test/CodeGen/distributed-thin-lto/cfi.ll b/clang/test/CodeGen/distributed-thin-lto/cfi.ll index 585602d43c79d..696f2dc4ea634 100644 --- a/clang/test/CodeGen/distributed-thin-lto/cfi.ll +++ b/clang/test/CodeGen/distributed-thin-lto/cfi.ll @@ -24,7 +24,7 @@ ; Round trip it through llvm-as ; RUN: llvm-dis %t.o.thinlto.bc -o - | llvm-as -o - | llvm-dis -o - | FileCheck %s --check-prefix=CHECK-DIS ; CHECK-DIS: ^0 = module: (path: "{{.*}}cfi.ll.tmp.o", hash: ({{.*}}, {{.*}}, {{.*}}, {{.*}}, {{.*}})) -; CHECK-DIS: ^1 = gv: (guid: 8346051122425466633, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 1, dsoLocal: 0, canAutoHide: 0, importType: definition, noRenameOnPromotion: 0), insts: 7, funcFlags: (readNone: 0, readOnly: 0, noRecurse: 1, returnDoesNotAlias: 0, noInline: 0, alwaysInline: 0, noUnwind: 1, mayThrow: 0, hasUnknownCall: 0, mustBeUnreachable: 0), typeIdInfo: (typeTests: (^2))))) +; CHECK-DIS: ^1 = gv: (guid: 8346051122425466633, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 1, dsoLocal: 0, canAutoHide: 0, importType: definition), insts: 7, funcFlags: (readNone: 0, readOnly: 0, noRecurse: 1, returnDoesNotAlias: 0, noInline: 0, alwaysInline: 0, noUnwind: 1, mayThrow: 0, hasUnknownCall: 0, mustBeUnreachable: 0), typeIdInfo: (typeTests: (^2))))) ; CHECK-DIS: ^2 = typeid: (name: "_ZTS1A", summary: (typeTestRes: (kind: single, sizeM1BitWidth: 0))) ; guid = 7004155349499253778 ; RUN: %clang_cc1 -triple x86_64-grtev4-linux-gnu \ diff --git a/clang/test/CodeGen/thinlto-funcattr-prop.ll b/clang/test/CodeGen/thinlto-funcattr-prop.ll index e5f39ddd58a4f..daaa6e2da8048 100644 --- a/clang/test/CodeGen/thinlto-funcattr-prop.ll +++ b/clang/test/CodeGen/thinlto-funcattr-prop.ll @@ -15,9 +15,9 @@ ; RUN: llvm-dis %t1.o.1.1.promote.bc -o - | FileCheck %s --check-prefix=CHECK-IR ;; Summary for call_extern. Note that llvm-lto2 writes out the index before propagation occurs so call_extern doesn't have its flags updated. -; CHECK-INDEX: ^2 = gv: (guid: 13959900437860518209, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 1, dsoLocal: 1, canAutoHide: 0, importType: definition, noRenameOnPromotion: 0), insts: 2, calls: ((callee: ^3))))) +; CHECK-INDEX: ^2 = gv: (guid: 13959900437860518209, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 1, dsoLocal: 1, canAutoHide: 0, importType: definition), insts: 2, calls: ((callee: ^3))))) ;; Summary for extern -; CHECK-INDEX: ^3 = gv: (guid: 14959766916849974397, summaries: (function: (module: ^1, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 1, dsoLocal: 0, canAutoHide: 0, importType: definition, noRenameOnPromotion: 0), insts: 1, funcFlags: (readNone: 0, readOnly: 0, noRecurse: 1, returnDoesNotAlias: 0, noInline: 0, alwaysInline: 0, noUnwind: 1, mayThrow: 0, hasUnknownCall: 0, mustBeUnreachable: 0)))) +; CHECK-INDEX: ^3 = gv: (guid: 14959766916849974397, summaries: (function: (module: ^1, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 1, dsoLocal: 0, canAutoHide: 0, importType: definition), insts: 1, funcFlags: (readNone: 0, readOnly: 0, noRecurse: 1, returnDoesNotAlias: 0, noInline: 0, alwaysInline: 0, noUnwind: 1, mayThrow: 0, hasUnknownCall: 0, mustBeUnreachable: 0)))) ;--- a.ll target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" diff --git a/lld/test/ELF/lto/comdat-nodeduplicate.ll b/lld/test/ELF/lto/comdat-nodeduplicate.ll index 96a78aa175e41..928da5c82e518 100644 --- a/lld/test/ELF/lto/comdat-nodeduplicate.ll +++ b/lld/test/ELF/lto/comdat-nodeduplicate.ll @@ -62,15 +62,15 @@ ; IR_AB-DAG: gv: (name: "__profc_foo", {{.*}} guid = [[PROFC:[0-9]+]] ;; Check extra attributes. b.bc:__profc_foo is prevailing, so it can be internalized. -; IR_AB-DAG: gv: (guid: [[PROFD]], summaries: (variable: (module: ^0, flags: (linkage: private, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 1, canAutoHide: 0, importType: definition, noRenameOnPromotion: 0), varFlags: (readonly: 0, writeonly: 0, constant: 0), -; IR_AB-DAG: gv: (guid: [[PROFC]], summaries: (variable: (module: ^0, flags: (linkage: internal, visibility: hidden, notEligibleToImport: 0, live: 1, dsoLocal: 1, canAutoHide: 0, importType: definition, noRenameOnPromotion: 0), varFlags: (readonly: 0, writeonly: 0, constant: 0)))) +; IR_AB-DAG: gv: (guid: [[PROFD]], summaries: (variable: (module: ^0, flags: (linkage: private, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 1, canAutoHide: 0, importType: definition), varFlags: (readonly: 0, writeonly: 0, constant: 0), +; IR_AB-DAG: gv: (guid: [[PROFC]], summaries: (variable: (module: ^0, flags: (linkage: internal, visibility: hidden, notEligibleToImport: 0, live: 1, dsoLocal: 1, canAutoHide: 0, importType: definition), varFlags: (readonly: 0, writeonly: 0, constant: 0)))) ; IR_ABC-DAG: gv: (name: "__profd_foo", {{.*}} guid = [[PROFD:[0-9]+]] ; IR_ABC-DAG: gv: (name: "__profc_foo", {{.*}} guid = [[PROFC:[0-9]+]] ;; b.bc:__profc_foo prevails c.bc:__profc_foo, so it is exported and therefore not internalized. -; IR_ABC-DAG: gv: (guid: [[PROFD]], summaries: (variable: (module: ^0, flags: (linkage: private, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 1, canAutoHide: 0, importType: definition, noRenameOnPromotion: 0), varFlags: (readonly: 0, writeonly: 0, constant: 0), -; IR_ABC-DAG: gv: (guid: [[PROFC]], summaries: (variable: (module: ^0, flags: (linkage: weak, visibility: hidden, notEligibleToImport: 0, live: 1, dsoLocal: 1, canAutoHide: 0, importType: definition, noRenameOnPromotion: 0), varFlags: (readonly: 0, writeonly: 0, constant: 0)))) +; IR_ABC-DAG: gv: (guid: [[PROFD]], summaries: (variable: (module: ^0, flags: (linkage: private, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 1, canAutoHide: 0, importType: definition), varFlags: (readonly: 0, writeonly: 0, constant: 0), +; IR_ABC-DAG: gv: (guid: [[PROFC]], summaries: (variable: (module: ^0, flags: (linkage: weak, visibility: hidden, notEligibleToImport: 0, live: 1, dsoLocal: 1, canAutoHide: 0, importType: definition), varFlags: (readonly: 0, writeonly: 0, constant: 0)))) ;--- a.ll target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" diff --git a/llvm/include/llvm/AsmParser/LLToken.h b/llvm/include/llvm/AsmParser/LLToken.h index 6c92c82188f1a..5d5d70f89bde5 100644 --- a/llvm/include/llvm/AsmParser/LLToken.h +++ b/llvm/include/llvm/AsmParser/LLToken.h @@ -404,7 +404,6 @@ enum Kind { kw_importType, kw_definition, kw_declaration, - kw_noRenameOnPromotion, kw_function, kw_insts, kw_funcFlags, diff --git a/llvm/include/llvm/IR/ModuleSummaryIndex.h b/llvm/include/llvm/IR/ModuleSummaryIndex.h index b0b5ef9908a5e..5ede26cc7923c 100644 --- a/llvm/include/llvm/IR/ModuleSummaryIndex.h +++ b/llvm/include/llvm/IR/ModuleSummaryIndex.h @@ -269,8 +269,6 @@ struct ValueInfo { /// Checks if all copies are eligible for auto-hiding (have flag set). LLVM_ABI bool canAutoHide() const; - - LLVM_ABI bool noRenameOnPromotion() const; }; inline raw_ostream &operator<<(raw_ostream &OS, const ValueInfo &VI) { @@ -515,21 +513,15 @@ class GlobalValueSummary { /// transition unsigned Promoted : 1; - /// This field is written by the ThinLTO prelink stage to decide whether - /// a particular static global value should be promoted or not. - unsigned NoRenameOnPromotion : 1; - /// Convenience Constructors explicit GVFlags(GlobalValue::LinkageTypes Linkage, GlobalValue::VisibilityTypes Visibility, bool NotEligibleToImport, bool Live, bool IsLocal, - bool CanAutoHide, ImportKind ImportType, - bool NoRenameOnPromotion) + bool CanAutoHide, ImportKind ImportType) : Linkage(Linkage), Visibility(Visibility), NotEligibleToImport(NotEligibleToImport), Live(Live), DSOLocal(IsLocal), CanAutoHide(CanAutoHide), - ImportType(static_cast<unsigned>(ImportType)), Promoted(false), - NoRenameOnPromotion(NoRenameOnPromotion) {} + ImportType(static_cast<unsigned>(ImportType)), Promoted(false) {} }; private: @@ -639,12 +631,6 @@ class GlobalValueSummary { void setImportKind(ImportKind IK) { Flags.ImportType = IK; } - void setNoRenameOnPromotion(bool NoRenameOnPromotion) { - Flags.NoRenameOnPromotion = NoRenameOnPromotion; - } - - bool noRenameOnPromotion() const { return Flags.NoRenameOnPromotion; } - GlobalValueSummary::ImportKind importType() const { return static_cast<ImportKind>(Flags.ImportType); } @@ -913,8 +899,7 @@ class FunctionSummary : public GlobalValueSummary { GlobalValue::LinkageTypes::AvailableExternallyLinkage, GlobalValue::DefaultVisibility, /*NotEligibleToImport=*/true, /*Live=*/true, /*IsLocal=*/false, - /*CanAutoHide=*/false, GlobalValueSummary::ImportKind::Definition, - /*NoRenameOnPromotion=*/false), + /*CanAutoHide=*/false, GlobalValueSummary::ImportKind::Definition), /*NumInsts=*/0, FunctionSummary::FFlags{}, SmallVector<ValueInfo, 0>(), std::move(Edges), std::vector<GlobalValue::GUID>(), std::vector<FunctionSummary::VFuncId>(), diff --git a/llvm/include/llvm/IR/ModuleSummaryIndexYAML.h b/llvm/include/llvm/IR/ModuleSummaryIndexYAML.h index 546dbb6b64e20..ccb77e75492af 100644 --- a/llvm/include/llvm/IR/ModuleSummaryIndexYAML.h +++ b/llvm/include/llvm/IR/ModuleSummaryIndexYAML.h @@ -140,7 +140,7 @@ template <> struct MappingTraits<TypeIdSummary> { struct GlobalValueSummaryYaml { // Commonly used fields unsigned Linkage, Visibility; - bool NotEligibleToImport, Live, IsLocal, CanAutoHide, NoRenameOnPromotion; + bool NotEligibleToImport, Live, IsLocal, CanAutoHide; unsigned ImportType; // Fields for AliasSummary std::optional<uint64_t> Aliasee; @@ -191,7 +191,6 @@ template <> struct MappingTraits<GlobalValueSummaryYaml> { io.mapOptional("Local", summary.IsLocal); io.mapOptional("CanAutoHide", summary.CanAutoHide); io.mapOptional("ImportType", summary.ImportType); - io.mapOptional("NoRenameOnPromotion", summary.NoRenameOnPromotion); io.mapOptional("Aliasee", summary.Aliasee); io.mapOptional("Refs", summary.Refs); io.mapOptional("TypeTests", summary.TypeTests); @@ -229,8 +228,7 @@ template <> struct CustomMappingTraits<GlobalValueSummaryMapTy> { static_cast<GlobalValue::VisibilityTypes>(GVSum.Visibility), GVSum.NotEligibleToImport, GVSum.Live, GVSum.IsLocal, GVSum.CanAutoHide, - static_cast<GlobalValueSummary::ImportKind>(GVSum.ImportType), - GVSum.NoRenameOnPromotion); + static_cast<GlobalValueSummary::ImportKind>(GVSum.ImportType)); if (GVSum.Aliasee) { auto ASum = std::make_unique<AliasSummary>(GVFlags); V.try_emplace(*GVSum.Aliasee, /*IsAnalysis=*/false); @@ -274,10 +272,9 @@ template <> struct CustomMappingTraits<GlobalValueSummaryMapTy> { static_cast<bool>(FSum->flags().Live), static_cast<bool>(FSum->flags().DSOLocal), static_cast<bool>(FSum->flags().CanAutoHide), - FSum->flags().ImportType, - static_cast<bool>(FSum->flags().NoRenameOnPromotion), - /*Aliasee=*/std::nullopt, Refs, FSum->type_tests(), - FSum->type_test_assume_vcalls(), FSum->type_checked_load_vcalls(), + FSum->flags().ImportType, /*Aliasee=*/std::nullopt, Refs, + FSum->type_tests(), FSum->type_test_assume_vcalls(), + FSum->type_checked_load_vcalls(), FSum->type_test_assume_const_vcalls(), FSum->type_checked_load_const_vcalls()}); } else if (auto *ASum = dyn_cast<AliasSummary>(Sum.get()); @@ -289,7 +286,6 @@ template <> struct CustomMappingTraits<GlobalValueSummaryMapTy> { static_cast<bool>(ASum->flags().DSOLocal), static_cast<bool>(ASum->flags().CanAutoHide), ASum->flags().ImportType, - static_cast<bool>(ASum->flags().NoRenameOnPromotion), /*Aliasee=*/ASum->getAliaseeGUID()}); } } diff --git a/llvm/include/llvm/LTO/LTO.h b/llvm/include/llvm/LTO/LTO.h index 38349b604b6b3..3e877d22c3f6c 100644 --- a/llvm/include/llvm/LTO/LTO.h +++ b/llvm/include/llvm/LTO/LTO.h @@ -65,8 +65,7 @@ LLVM_ABI void thinLTOInternalizeAndPromoteInIndex( ModuleSummaryIndex &Index, function_ref<bool(StringRef, ValueInfo)> isExported, function_ref<bool(GlobalValue::GUID, const GlobalValueSummary *)> - isPrevailing, - DenseSet<StringRef> *ExternallyVisibleSymbolNamesPtr = nullptr); + isPrevailing); /// Computes a unique hash for the Module considering the current list of /// export/import and other global analysis results. diff --git a/llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h b/llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h index ba0b22b799ebe..2e33a4098be1b 100644 --- a/llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h +++ b/llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h @@ -271,16 +271,14 @@ LLVM_ABI void getVisibleToRegularObjVtableGUIDs( /// devirtualized target name will need adjustment). LLVM_ABI void runWholeProgramDevirtOnIndex( ModuleSummaryIndex &Summary, std::set<GlobalValue::GUID> &ExportedGUIDs, - std::map<ValueInfo, std::vector<VTableSlotSummary>> &LocalWPDTargetsMap, - DenseSet<StringRef> *ExternallyVisibleSymbolNamesPtr = nullptr); + std::map<ValueInfo, std::vector<VTableSlotSummary>> &LocalWPDTargetsMap); /// Call after cross-module importing to update the recorded single impl /// devirt target names for any locals that were exported. LLVM_ABI void updateIndexWPDForExports( ModuleSummaryIndex &Summary, function_ref<bool(StringRef, ValueInfo)> isExported, - std::map<ValueInfo, std::vector<VTableSlotSummary>> &LocalWPDTargetsMap, - DenseSet<StringRef> *ExternallyVisibleSymbolNamesPtr = nullptr); + std::map<ValueInfo, std::vector<VTableSlotSummary>> &LocalWPDTargetsMap); } // end namespace llvm diff --git a/llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h b/llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h index e22bea53a18a6..c4c7b403bed86 100644 --- a/llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h +++ b/llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h @@ -63,8 +63,7 @@ class FunctionImportGlobalProcessing { DenseMap<const Comdat *, Comdat *> RenamedComdats; /// Check if we should promote the given local value to global scope. - bool shouldPromoteLocalToGlobal(const GlobalValue *SGV, - GlobalValueSummary *Summary); + bool shouldPromoteLocalToGlobal(const GlobalValue *SGV, ValueInfo VI); #ifndef NDEBUG /// Check if the given value is a local that can't be renamed (promoted). diff --git a/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp b/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp index f504519ebb5a6..069f4ae1790b1 100644 --- a/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp +++ b/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp @@ -712,8 +712,7 @@ static void computeFunctionSummary( GlobalValueSummary::GVFlags Flags( F.getLinkage(), F.getVisibility(), NotEligibleForImport, /* Live = */ false, F.isDSOLocal(), F.canBeOmittedFromSymbolTable(), - GlobalValueSummary::ImportKind::Definition, - /* NoRenameOnPromotion = */ false); + GlobalValueSummary::ImportKind::Definition); FunctionSummary::FFlags FunFlags{ F.doesNotAccessMemory(), F.onlyReadsMemory() && !F.doesNotAccessMemory(), F.hasFnAttribute(Attribute::NoRecurse), F.returnDoesNotAlias(), @@ -871,7 +870,7 @@ static void computeVariableSummary(ModuleSummaryIndex &Index, GlobalValueSummary::GVFlags Flags( V.getLinkage(), V.getVisibility(), NonRenamableLocal, /* Live = */ false, V.isDSOLocal(), V.canBeOmittedFromSymbolTable(), - GlobalValueSummary::Definition, /* NoRenameOnPromotion = */ false); + GlobalValueSummary::Definition); VTableFuncList VTableFuncs; // If splitting is not enabled, then we compute the summary information @@ -918,7 +917,7 @@ static void computeAliasSummary(ModuleSummaryIndex &Index, const GlobalAlias &A, GlobalValueSummary::GVFlags Flags( A.getLinkage(), A.getVisibility(), NonRenamableLocal, /* Live = */ false, A.isDSOLocal(), A.canBeOmittedFromSymbolTable(), - GlobalValueSummary::Definition, /* NoRenameOnPromotion = */ false); + GlobalValueSummary::Definition); auto AS = std::make_unique<AliasSummary>(Flags); auto AliaseeVI = Index.getValueInfo(Aliasee->getGUID()); assert(AliaseeVI && "Alias expects aliasee summary to be available"); @@ -1000,8 +999,7 @@ ModuleSummaryIndex llvm::buildModuleSummaryIndex( /* NotEligibleToImport = */ true, /* Live = */ true, /* Local */ GV->isDSOLocal(), GV->canBeOmittedFromSymbolTable(), - GlobalValueSummary::Definition, - /* NoRenameOnPromotion = */ false); + GlobalValueSummary::Definition); CantBePromoted.insert(GV->getGUID()); // Create the appropriate summary type. if (Function *F = dyn_cast<Function>(GV)) { diff --git a/llvm/lib/AsmParser/LLLexer.cpp b/llvm/lib/AsmParser/LLLexer.cpp index 4840d04f6b78d..8d20ff72a8505 100644 --- a/llvm/lib/AsmParser/LLLexer.cpp +++ b/llvm/lib/AsmParser/LLLexer.cpp @@ -809,7 +809,6 @@ lltok::Kind LLLexer::LexIdentifier() { KEYWORD(importType); KEYWORD(definition); KEYWORD(declaration); - KEYWORD(noRenameOnPromotion); KEYWORD(function); KEYWORD(insts); KEYWORD(funcFlags); diff --git a/llvm/lib/AsmParser/LLParser.cpp b/llvm/lib/AsmParser/LLParser.cpp index 551b88d8b435b..09b030b28dce8 100644 --- a/llvm/lib/AsmParser/LLParser.cpp +++ b/llvm/lib/AsmParser/LLParser.cpp @@ -10023,7 +10023,7 @@ bool LLParser::parseFunctionSummary(std::string Name, GlobalValue::GUID GUID, GlobalValue::ExternalLinkage, GlobalValue::DefaultVisibility, /*NotEligibleToImport=*/false, /*Live=*/false, /*IsLo... [truncated] `````````` </details> https://github.com/llvm/llvm-project/pull/183782 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
