llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-llvm-transforms

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

Reply via email to